出力を返すサードパーティで複数の異なるスクリプトを実行するrun.shがあります。私のrun.shには有益なエコ情報もあります...
特定のプロセスの速度も確認したいので、各コマンドの日付とともにすべてを記録することをスクリプトの上部に追加したいと思います。 teeとスクリプトがこれを行うことができることを確認しました。何度も試してみましたが、お使いのコンピュータにteeがインストールされておらず(簡単にインストールできないクラスタです)、受け取ったスクリプトを使用しています。
Script started, file is log.txt
Script started, file is log.txt
Script started, file is log.txt
Script started, file is log.txt
Script started, file is log.txt
編集する:
私はこれを行う方法を見つけました
exec >logfile.txt 2>&1
しかし、まだ各行の先頭にデータを追加する方法がわかりません。このアプローチでは、端末で出力を表示できなくなります。
ベストアンサー1
私は常にスクリプトの先頭に "echo_do"という小さな関数を追加し、次のようにその関数を介してコマンドを実行します。
#! /usr/bin/ksh
echo_do () {
echo $(date) "$@"
eval "$@"
}
echo_do pwd
echo_do sleep 3
echo_do "ls -l /tmp | wc"
echo_do sleep 3
echo_do "find /tmp | wc"
たとえば、独自の「Tシャツ」を作成することもできます。 "ティー.sh":
#! /usr/bin/ksh
IFS=""
if [ "X"$1 == "X-a" ]
then
shift
else
for OF in $@
do
> $OF
done
fi
while read
do
for OF in $@
do
echo "$REPLY" >> $OF
done
echo "<$REPLY>"
done
必要な場所に必要な時間を挿入してください。