我想知道这两种方式是否等效:
第一的:
#!/bin/bash
if [ -x $FILE ]
then
echo "You have execution permission to a "$FILE""
else
echo "You don't have execution permission to a "$FILE""
fi
Run Code Online (Sandbox Code Playgroud)
第二:
#!/bin/bash
[ -x $FILE ] && echo "You have execution permission to a "$FILE"" || echo "You don't have execution permission to a "$FILE""
Run Code Online (Sandbox Code Playgroud)
这些结构通常不等效,但在这种情况下它们是等效的。原因是它echo总是有退出代码 0。如果那是一个可以以大于零的代码退出的命令,那么“另一个分支”也将被执行。在这种if情况下这是不可能的。