GNU/Linux >> Linux の 問題 >  >> Linux

シェルスクリプトで一時ファイルを作成するにはどうすればよいですか?

スクリプトの実行中に、/tmpに一時ファイルを作成したい ディレクトリ。

そのスクリプトの実行後、そのスクリプトによってクリーンアップされます。

シェルスクリプトでそれを行う方法は?

承認された回答:

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

ファイルのファイル記述子を開いて削除することにより、スクリプトが終了したときに(キルやクラッシュを含む)ファイルが確実に削除されるようにすることができます。ファイルは引き続き使用可能です(スクリプト用。実際には他のプロセス用ではありませんが、/proc/$PID/fd/$FD ファイル記述子が開いている限り、回避策です)。ファイルが閉じられると(プロセスが終了するとカーネルが自動的に実行します)、ファイルシステムはファイルを削除します。

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

Linux
  1. Linuxコマンドのスクリプトを作成する方法

  2. Linuxでスワップを作成する方法

  3. シェルスクリプトBashでサブストリングをチェックする方法は?

  1. Linuxでスワップファイルを作成する方法

  2. シェルスクリプトでバッファにデータを追加する方法は?

  3. シェル スクリプトとはシェル スクリプトの作成方法

  1. ファイルを bash シェル スクリプトに含める方法

  2. 起動時にシェルスクリプトを実行する方法

  3. シェルで .sh 拡張子のないファイルを実行する方法