Shell Unix内部报价

Shell Unix内部报价,shell,unix,scripting,Shell,Unix,Scripting,在if语句中写入$DATE变量时是否存在语法错误 我在引用中遇到了问题,这是代码 if [ \( ! -f "$CMD_FILE" \) -a \( $CMD_FILE == "myData"$DATE"D_1.zip" \) -a \( $TODAY == "Sat" \); then touch /home/me/files myData"$DATE"_1.txt 你应该这样写: if [ ! -f $CMD_FILE ] && \ [ $CMD_FILE == "myDa

在if语句中写入$DATE变量时是否存在语法错误

我在引用中遇到了问题,这是代码

if [ \( ! -f "$CMD_FILE" \) -a \( $CMD_FILE == "myData"$DATE"D_1.zip" \) -a \( $TODAY == "Sat" \); then
touch /home/me/files myData"$DATE"_1.txt

你应该这样写:

if [ ! -f $CMD_FILE ] && \
[ $CMD_FILE == "myData"$DATE"D_1.zip" ] && \
[ $TODAY == "Sat" ]; then
    echo "yes";
fi

如果所有3条语句都为真,脚本将生成“yes”

以使用复合条件,您不需要将每个条件放入
()
,我看到
如果
但没有
fi
,我看到
[
但没有
]