shファイルのすべてのコマンドをログファイルとコンソールに印刷するにはどうすればよいですか?
それでは、次のようなものがあり、1行のコマンドが必要です(例:ファイルとして印刷(これはすべてのコマンド出力をファイルとして印刷します。)以前のすべてのコマンド出力/ echosは、ファイルとコンソール#shとして印刷できます。
SH
**some command here, so it will print all below echos to file and console**
echo start
echo "My first name is $1"
echo "My surname is $2"
echo "Total number of arguments is $#"
echo end
答え1
2つの方法があります。他の人はTシャツに言及しました。 2番目の方法は "script"コマンドとそのバリエーションで、プロセスの標準出力に送信されたすべての内容を記録します。スクリプトからリダイレクトするには、次を使用します。
#!/bin/bash
{
echo start
echo "My first name is $1"
echo "My surname is $2"
echo "Total number of arguments is $#"
echo end
} | tee logfile
答え2
この試み...
#!/bin/bash
log_file=/tmp/log.txt
function log(){
echo "$@" | tee -a "${log_file}"
}
log "test"
log "hello"
log "testing...."
答え3
tee
コマンドを使用して、スクリプト出力を標準出力とファイルにリダイレクトできます。
次のコマンドは、f1.txtファイルの内容をf2.txtファイルとstdout(コンソール)に印刷します。
cat f1.txt | tee f2.txt
Tシャツチェックの詳細Tシャツマンページ
答え4
端末セッションをタイプキャストできるプログラムがありますscript
。つまり、端末に表示されているすべてを記録できます。