Bash"如果"声明不正常

时间:2017-01-10 16:08:18

标签: bash shell

我试图在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'))

1 个答案:

答案 0 :(得分:4)

您用于进行字符串比较的语法不正确。

可移植语法为if [ "$day" = Fri ]

特定于bash的语法为if [[ $day = Fri ]] - [[,不需要引号。

请注意,关键字/命令之间的空格很重要,因此您无法编写if[,因为shell不知道if[引用的内容。