我想在「Personal_20140118D_1.zip」中使用$ DATE代替20140118對於Unix Shell腳本,這在語法上是正確的嗎?
是「Personal _」$ DATE「D_1.zip」在語法上是否正確?
DATE = date +%Y%m%d
如果[($ FILE == 「Personal_20140118D_1.zip」)-a($ TODAY == 「SAT」)];那麼
..... ... 。
我想在「Personal_20140118D_1.zip」中使用$ DATE代替20140118對於Unix Shell腳本,這在語法上是正確的嗎?
是「Personal _」$ DATE「D_1.zip」在語法上是否正確?
DATE = date +%Y%m%d
如果[($ FILE == 「Personal_20140118D_1.zip」)-a($ TODAY == 「SAT」)];那麼
..... ... 。
是的。行情只能保護空間不成爲字詞分隔符。你可以在任何地方使用它們。因此,這些只要a
和b
不包含空格都是等價的:
ab
"a"b
"a""b"
a"b"
a"$var"b
a${var}b
我建議使用"a${var}b"
,但由於其他形式看起來很奇怪。
要在變量替換之日起的第一次出現:
date_file=${FILE/20140118/$DATE}
詳見man bash
。
實施例:
$ date=`date +%Y%m%d`
$ file="Personal_20140118D_1.zip"
$ date_file=${file/20140118/$date}
$ echo "$date_file"
Personal_20140123D_1.zip