📅  最后修改于: 2023-12-03 15:10:52.353000             🧑  作者: Mango
在Shell脚本中,我们经常需要执行各种命令。但是,在脚本中运行命令之前,我们需要先检查这个命令是否存在。否则,将会在执行中遇到错误。
为了检查命令是否存在,我们可以使用以下两种方式:
使用 type
命令来检查命令是否存在,如下所示:
if type "command_name" > /dev/null 2>&1; then
# command_name存在
else
# command_name不存在
fi
使用 type
命令,将命令名作为参数传递给它。如果命令存在,则不会有输出。如果命令不存在,则会输出错误消息。
我们可以使用 > /dev/null 2>&1
将所有的错误消息和输出消息都输出到空设备中,从而不影响其他输出。
还可以使用 which
命令来检查命令是否存在,如下所示:
if which "command_name" > /dev/null 2>&1; then
# command_name存在
else
# command_name不存在
fi
使用 which
命令,将命令名作为参数传递给它。如果命令存在,则不会有输出。如果命令不存在,则会输出错误消息。
与第一种方式一样,我们可以使用 > /dev/null 2>&1
将所有的错误消息和输出消息都输出到空设备中,从而不影响其他输出。
注意,如果您想使用某个命令但不确定该命令是否存在,则可以使用上述方法进行检查。如果该命令不存在,则可以通过安装该命令来解决问题。
以上就是检查命令是否存在的两种方式。希望对你有所帮助!