LMLPHP后院

SHELL中判断命令是否存在的方法技术

maybe yes 发表于 2017-01-02 10:30

在 SHELL 中如何判断某个命令是否存在,总结了下,一共三种方法

$ command -v foo >/dev/null 2>&1 || { echo >&2 "I require foo but it's not installed.  Aborting."; exit 1; }
$ type foo >/dev/null 2>&1 || { echo >&2 "I require foo but it's not installed.  Aborting."; exit 1; }
$ hash foo 2>/dev/null || { echo >&2 "I require foo but it's not installed.  Aborting."; exit 1; }

以上信息来源于 stackoverflow,在国内的一些社区也有类似的提供,不过总有一些瑕疵,不是少了空格,就是引号出问题

发现 realpath 这个命令Ubuntu需要安装才能用,SHELL 脚本要写的兼容少不了需要判断某个命令是否存在的方法

2024-04-27 05:42:57 1714167777 0.006090