shファイルのすべてのコマンドをログファイルとコンソールに印刷するにはどうすればよいですか?

shファイルのすべてのコマンドをログファイルとコンソールに印刷するにはどうすればよいですか?

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。つまり、端末に表示されているすべてを記録できます。

関連情報