Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对于Unix Shell脚本,这种语法正确吗?_Shell_Unix_Scripting - Fatal编程技术网

对于Unix Shell脚本,这种语法正确吗?

对于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

我想在“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${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