GNU/Linux >> Znalost Linux >  >> Linux

Jak vytvořit dočasný soubor ve skriptu Shell?

Při spouštění skriptu chci vytvořit dočasný soubor v /tmp adresář.

Po provedení tohoto skriptu bude tento skript vyčištěn.

Jak to udělat ve skriptu shellu?

Přijatá odpověď:

tmpfile=$(mktemp /tmp/abc-script.XXXXXX)
: ...
rm "$tmpfile"

Můžete se ujistit, že soubor je odstraněn při ukončení skriptů (včetně zabíjení a zhroucení) otevřením deskriptoru souboru k souboru a jeho odstraněním. Soubor zůstává k dispozici (pro skript; ne ve skutečnosti pro jiné procesy, ale /proc/$PID/fd/$FD je řešení), pokud je otevřený deskriptor souboru. Když se zavře (což jádro udělá automaticky při ukončení procesu), souborový systém soubor smaže.

tmpfile=$(mktemp /tmp/abc-script.XXXXXX)
exec 3>"$tmpfile"
rm "$tmpfile"
: ...
echo foo >&3

Linux
  1. Jak vytvořit odkládací soubor v Linuxu

  2. Jak připojit data do vyrovnávací paměti ve skriptu Shell?

  3. Co jsou Shell Scripts? Jak vytvořit Shell skripty?

  1. Jak vytvořit skript příkazu Linux

  2. Jak vytvořit swap v Linuxu

  3. Jak zkontrolovat podřetězec v Shell Script Bash?

  1. Jak zahrnout soubor do skriptu bash shell

  2. Jak spustit skript shellu při spuštění

  3. Jak spustit soubor bez přípony .sh v shellu