[20221111]bash eval設定變數問題.txt

lfree發表於2022-11-11

[20221111]bash eval設定變數問題.txt

--//在我以前寫的bash shell指令碼中設定變數不合理,程式碼如下:
current_time=`/bin/date  +"%Y%m%d_%H:%M:%S"`
current_date=`/bin/date +"%Y%m%d"`

year=`/bin/date +"%Y"`
month=`/bin/date +"%m"`
day=`/bin/date +"%d"`
week=`/bin/date +"%w"`

--//相當於呼叫6次/bin/date命令,不合理!!能否呼叫一次完成全部賦值呢?

$ /bin/date  +"%Y%m%d_%H:%M:%S %Y%m%d %Y %m %d %w"
20221111_09:24:58 20221111 2022 11 11 5

$ /bin/date  +"current_time=%Y%m%d_%H:%M:%S;current_date=%Y%m%d;year=%Y;month=%m;day=%d;week=%w;"
current_time=20221111_09:30:29;current_date=20221111;year=2022;month=11;day=11;week=5;

--//如何將上面的輸出變成賦值語句呢?使用內部命令eval.

$ eval $(/bin/date  +"current_time=%Y%m%d_%H:%M:%S;current_date=%Y%m%d;year=%Y;month=%m;day=%d;week=%w;")

$ echo $current_time $current_date $year $month $day $week
20221111_09:31:59 20221111 2022 11 11 5

--//OK,這樣僅僅需要執行1次就實現多個變數賦值.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2922882/,如需轉載,請註明出處,否則將追究法律責任。

相關文章