[英]Bash script to awk the date from Unix
我正在使用將從系統捕獲日期(星期幾)的腳本,如果星期幾是星期五,腳本將打印消息“ Any message”。 我想我的腳本中缺少一些語法
#!/bin/bash
input_source=date|awk '{print $1}'
if $input_source=Fri
then
echo 'It is Friday !!!!'
else
exit
fi
您的腳本,重新出現
#!awk -f
BEGIN {
if (strftime() ~ /Fri/)
print "It is Friday!"
}
您需要告訴shell執行命令,然后將其輸出存儲在變量中:
input_source=$(date|awk '{print $1}')
您還需要將測試括在方括號中:
if [ $input_source = Fri ]
命令輸出應用``或$()括起來
bash的比較應該由[
。 您可以man [
更多信息。
$ input=`date | awk '{print $1}'`
$ echo $input
Thu
$ if [ $input=Thu ]; then echo 'It is Thursday !!!!'; else exit; fi
It is Thursday !!!!
如果您很幸運能夠達到Bash≥4.2,則可以使用printf
的%(...)T
修飾符:
printf '%(%u)T\n' -1
將打印今天的星期幾(1 =星期一,2 =星期二,依此類推)。 有關支持的修飾符的列表,請參見man 3 strftime
,以及有關%(...)T
Bash參考手冊。
因此:
#!/bin/bash
printf -v weekday '%(%u)T' -1
if ((weekday==5)); then
echo 'It is Friday !!!!'
else
exit
fi
純Bash,無子彈!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.