tee
同様に動作しますが、日付スタンプを前に追加する関数を作成しました。ルート書き込みのみ可能なファイル(私の場合はログファイル/var/log
)に出力したい以外はすべてうまくいきます。機能しない部分だけを含めるように、次のコードスニペットを簡素化しました。
#!/bin/bash
#script ~/test_logger.sh
logfile=/var/log/test.log
logger()
{
while read data
do
echo $data >> $logfile
done
return 0
}
sudo ls ~ | logger
このようにスクリプト全体を実行すると正常に動作しますが、自動実行可能ファイルでロガー機能を使用したいsudo ~/test_logger.sh
ので、常にそうすることはできません。 whileループのエコーの前に~/.bash_logout
入れようとしましたが、うまくいきませんでした。sudo
どんなアイデアがありますか?
ベストアンサー1
sudo
通常、スクリプトを置くのは悪い習慣です。より良いオプションは、必要に応じてスクリプトを使用したい場所や他の場所sudo
からスクリプトを呼び出すことです。あるいは、より良い方法は、世界を書き込み可能にすることです。~/.bash_logout
/var/log/test.log