私はいつもこれらのファイルにテキストを追加します。
echo "text text text ..." >> file
# or
printf "%s\n" "text text text ..." >> file
同じ、よりエレガントな、またはより珍しい方法を達成するためのより多くの方法があるかどうか疑問に思います。
ベストアンサー1
私はこれが本当に好きです。スクリプトの上部にログファイルを設定し、グローバル変数を必要とせず、ファイル名のすべてのエントリを変更することを覚えておらず、プロセス全体でログファイルに書き込むことができます。
exec 3>> /tmp/somefile.log
...
echo "This is a log message" >&3
echo "This goes to stdout"
echo "This is written to stderr" >&2
この構成は、書き込み用(追加用、読み取り用 - 一般と同様)のためにexec 3>dest
ファイルを開き、ファイル記述子#3に追加します。次に記述子#1を取得します。dest
>>
<
標準出力、#2は標準エラーそして、この記事の新しい#3ですdest
。
あなたは参加できます標準エラー到着標準出力- などの構文を使用して、exec 2>&1
スクリプト期間内に強力な可能性がたくさんあります。文書(man bash
)には、これについて次のような内容が記載されています。
exec [-cl] [-a name] [command [arguments]]
指定した場合はcommand
シェルを置き換えます。 [...]指定しないと、command
すべてのリダイレクトが現在のシェル[...]に適用されます。