为什么把分号放在一个而不是另一个?
结果是一样的
代码一
if [ "a" == "a" ]
then
echo "true"
fi
Run Code Online (Sandbox Code Playgroud)
代码二
if [ "a" == "a" ];
then
echo "true";
fi
Run Code Online (Sandbox Code Playgroud)
第二个代码中的分号是不必要的吗?
什么时候需要放置分号?
cho*_*oba 38
仅当缺少行尾时才需要分号:
if [ "a" == "a" ] ; then echo "true" ; fi
Run Code Online (Sandbox Code Playgroud)
如果没有分号,则会出现语法错误。
我不明白你关于报价的问题。你可以说得更详细点吗?
(顺便说一句,使用=而不是==更便携且符合 POSIX 标准)。
分号经常被使用,因为有些人(例如 /me)喜欢这样的风格:
if [ ... ]; then
doit-it-then
else
doit-it-else
fi
Run Code Online (Sandbox Code Playgroud)
因此,如果 then-keyword 放在条件行上,那么它是必要的,因为一个新命令开始,如 choroba 所写。
关于条件检查中的引号,它们通常与变量一起使用,以确保在没有为变量分配任何内容时不会发生异常。这是一种更安全的风格,看起来没有必要,但即使在 shell 编程中,它也会不时地使程序进行处理,尽管内容无法分配给变量。然后该命令仍然有效,因为比较了一个空字符串。
| 归档时间: |
|
| 查看次数: |
39742 次 |
| 最近记录: |