さまざまなコマンドを呼び出していくつかの出力を印刷するbashスクリプトがあります(たとえば、独自に呼び出されるコマンドとスクリプト自体git pull
によって生成された情報メッセージの両方Operation took XX minutes
)。
出力全体をファイルにキャプチャしたいです。スクリプト自体から./myscript.sh | tee file.txt
:基本的に電話をかける必要がないようにしたいです。ここでは関係ありません理由。
基本的に私は次のことをしたいと思います。
startCapture
git pull
echo "Text"
other-command
endCapture
また、スクリプトの実行中に出力をシェルに印刷する必要があります。
究極の目標は次のとおりです。
./myscript.sh
実行に追加のシェル構造は必要ありません。- 今やっているように端末の出力を見てください。
- フル出力を含むディスクにファイルをインポートする
可能ですか?
ベストアンサー1
いつでもscript
スクリプト内で呼び出してすべてを記録できます。
bashスクリプトからすべてを同時に印刷して記録する場合log.txt
:
#!/bin/bash
if [ -z "$SCRIPT" ]
then
/usr/bin/script log.txt /bin/bash -c "$0 $*"
exit 0
fi
echo teste
ログを確認してくださいlog.txt
。
$ ./a.sh
Script started, output file is log.txt
teste
Script done, output file is log.txt
$ cat log.txt
Script started on Fri Feb 16 17:57:26 2018
command: /bin/bash -c ./a.sh
teste
Script done on Fri Feb 16 17:57:26 2018