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-11-19 11:44:00 1731987840 0.019066