次のスクリプトをファイルに保存します。
cat <<EOF | wc -l
$HOME
abc
$(hostname)
EOF
実行すると、次のエラーが発生します。
$ ./a.sh
./a.sh: line 1: cannot create temp file for here-document: No space left on device
私のDebianはデバイスに余分なスペースがないと思います(これは事実ではありませんが、私たちの文脈から離れています)。しかし、RAMスペースは十分です。私のツール(スクリプト)もこのエラーが原因で動作を拒否するため、実際の「残りスペースなし」の問題を解決できません。実際の問題を解決するためにツールを引き続き使用できるように、スクリプトが "heredoc"処理にRAMを使用するようにするにはどうすればよいですか?
ベストアンサー1
$TMPDIR
変数がRAMディスク/ tmpfsのディレクトリを指すようにします。これは、bash
(少なくとも)シェルが一時ファイルを作成する場所を決定するためです。