我想知道这两种方式是否等效:
第一的:
#!/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
第二:
#!/bin/bash
[ -x $FILE ] && echo "You have execution permission to a "$FILE"" || echo "You don't have execution permission to a "$FILE""
答案1
这些结构通常并不等效,但在本例中它们是等效的。原因是echo
退出代码始终为 0。如果这是一个可以以大于零的代码退出的命令,那么“另一个分支”也将被执行。这在if
本案中是不可能的。