現在の日付を変数に保存してから変数をgrepするbashスクリプトを作成しています。問題はそれがうまくいかないということです
currentdate= $(date +%b\ %d)
echo "$currentdate"
last |grep -E '$currentdate'>> /usr/IBM/HTTPServer7/logs/alert/users.txt
users.txt
空白としてマークされます。現在の日付を手動で書くと機能します。私は何が間違っていましたか?
ベストアンサー1
引用符に加えて、last
次のようにコマンドで使用される日付形式も考慮する必要があります。
Dec 3 # Note the padding to the left of '3'.
Nov 23
これには少し異なる日付コマンドが必要です。
date "+%b %_d"
Dec 4
下線は、フィールドdate
にスペースを埋める必要があることを示します。代わりに%eを使用することもできます。
これをまとめると、次のようにスクリプトを変更できます。
currentdate=$(date "+%b %_d")
last | grep "$currentdate" >> /usr/IBM/HTTPServer7/logs/alert/users.txt