tee
出力をファイルにコピーしてコンソールに出力するために使用できることがわかります。
tee
ただし、スクリプト内のすべてのコマンドを使用したり、パイプを使用してスクリプトを実行しないと(固定テンプレートなど)、シェルスクリプトを準備する方法が見つからないようですtee
。
tee
したがって、スクリプトが自動的に呼び出されるのではなく、パイプラインを使用して毎回スクリプトを呼び出す必要があります。
修正されたshebangを使ってパイプを試しましたが、成功しませんでした。これを達成する方法が見つからないようです。
したがって、次のようにスクリプトを呼び出さないでください。
./myscript.sh |& tee scriptout.txt
次のように呼び出して同じ効果を得たいと思います。
./myscript
もちろん、スクリプトはスクリプト内の変数に設定されたファイル名を知る必要があります。
どうすればいいですか?
ベストアンサー1
スクリプトの内容を関数にラップし、関数の出力を次にパイプすることができますtee
。
#!/bin/bash
{
echo "example script"
} | tee -a /logfile.txt