检查是否存在wget / curl

尝试使用wget执行脚本以下载文件,或者在Linux中不存在wget时卷曲。 如何让脚本检查wget的存在?


wget http://download/url/file 2>/dev/null || curl -O  http://download/url/file

Linux有一个which检查路径中是否存在可执行文件的命令:

pax> which ls ; echo $?
/bin/ls
0

pax> which no_such_executable ; echo $?
1

如你所见,它设置返回码$? 轻松分辨是否找到可执行文件。


也可以使用commandtypehash来检查wget / curl是否存在。 这里的另一个线程 - “检查一个程序是否存在于Bash脚本中”非常好地回答了在bash脚本中使用什么来检查程序是否存在。

我会这样做 -

if [ ! -x /usr/bin/wget ] ; then
    # some extra check if wget is not installed at the usual place                                                                           
    command -v wget >/dev/null 2>&1 || { echo >&2 "Please install wget or set it in your path. Aborting."; exit 1; }
fi
链接地址: http://www.djcxy.com/p/57071.html

上一篇: Check for existence of wget/curl

下一篇: Find out if a command exists on POSIX system