有没有办法检测外部命令是否存在(即wget、svn)?
更具体地说,今天,我试图运行我编写的脚本之一,但该人没有wget
安装 svn。
该脚本只是下载一个文件并将其解压或使用 svn 导出主干。
答案1
在 Bash 中,type
内置的 shell 提供了有关可执行文件的信息:别名、函数、可执行文件。help type
详情请参阅。
# just check for existence
type -t 'yourfunction' > /dev/null || echo 'error: yourfunction not found'
# explicitly check for given type
[[ "$( type -t 'yourfunction' )" != 'function' ]] && \
echo 'error: yourfunction not found or is not a function'