ディスクの代わりにRAMにheredocを作成する方法は?

ディスクの代わりにRAMにheredocを作成する方法は?

次のスクリプトをファイルに保存します。

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(少なくとも)シェルが一時ファイルを作成する場所を決定するためです。

おすすめ記事