ログファイル名に時間を追加する

ログファイル名に時間を追加する

log_Jan_01_hh:mm:ss変数timestampが次のように定義されるようにlog_filesの名前を指定したいと思いますdate +"%b_%d_%T"
ここで値を変数に設定すると、次のようになります。

setenv now `date +"%b_%d_%T"`

その後、$now変数はその時点で更新された値を取得するため、ログファイルの名前は常に同じです。

$now各瞬間の価値を更新するにはどうすればよいですか?

ベストアンサー1

文字列を保存し$nowて呼び出すときにバックティックを追加すると、現在の日付が得られます。

[~]% setenv now 'date +"%b_%d_%T"'

[~]% echo $now
date +"%b_%d_%T"

[~]% echo `$now`
"Dec_03_13:09:52"

[~]% echo `$now`
"Dec_03_13:09:54"

これは、次のことと事実上同じです。

[~]% echo `date +"%b_%d_%T"`

呼び出し変数を再評価するようにコマンドに指示する方法はありませんtcsh。変数に文字列を割り当てると、$nowそのtcsh文字列を生成したコマンドが何であるかがわかりません。
別の(可能な)解決策は関数を使用することですが、tcshその関数もありません。

おすすめ記事