对于Unix Shell脚本,这种语法正确吗?
我想在“Personal_20140118D_1.zip”中将20140118替换为$DATE “Personal_u”$DATE“D_1.zip”的语法正确吗 日期=对于Unix Shell脚本,这种语法正确吗?,shell,unix,scripting,Shell,Unix,Scripting,我想在“Personal_20140118D_1.zip”中将20140118替换为$DATE “Personal_u”$DATE“D_1.zip”的语法正确吗 日期=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${v
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}
有关详细信息,请参见manbash
例如:
$ date=`date +%Y%m%d`
$ file="Personal_20140118D_1.zip"
$ date_file=${file/20140118/$date}
$ echo "$date_file"
Personal_20140123D_1.zip