我刚开始编写shell脚本。在if
构造中,if
被认为是命令还是关键字?
如果是命令,则在通过which
命令搜索时应列出其路径。实际上,which
找不到任何内容。
如果if
不是命令,那么理想情况下,当then
写在同一行时,不需要用分号分隔。
您是否可以解释if
是命令还是声明?
答案 0 :(得分:1)
在bash if
中是一个复合命令(请参阅链接页面中的“Shell Grammar”。)
答案 1 :(得分:0)
if
不是命令它是shell的构造。
条件之后的分号;
是用于终止条件的shell语法,仅当then
关键字位于同一行时才需要。当;
关键字显示在下一行时,then
不是必需的。
所以这也可以在没有分号和打印日期的情况下使用:
if ((RANDOM>0))
then
date
fi
答案 2 :(得分:0)
if
是一个关键字。分号终止if
和then
之间的命令。