我试图在shell中运行此命令,但输出显然是错误的。
day=$(date -r myfile.c | cut -d ' ' -f 1); if(($day == "Fri")); then echo $day; fi;
输出为Sat
。这怎么可能?
我已经尝试过不同的方式:
if(($day == "Fri"))
if(("$day" == "Fri"))
if(("$day" == 'Fri'))
答案 0 :(得分:4)
您用于进行字符串比较的语法不正确。
可移植语法为if [ "$day" = Fri ]
。
特定于bash的语法为if [[ $day = Fri ]]
- [[
,不需要引号。
请注意,关键字/命令之间的空格很重要,因此您无法编写if[
,因为shell不知道if[
引用的内容。