bash,测试curl是否存在,如果不存在,则安装



我用谷歌搜索了许多解决方案,但没有找到一个完全有效的解决方案。我自己的粗略工作是:

[ $(which curl) -eq "" ] || sudo apt install curl

这不太管用,说"一元运算符预期"。我已经尝试了===,所以我不知道如何进行这样的测试。which curl的空输出是否有可能是一个$null,我必须对此进行测试?

或者,有没有办法只运行sudo apt install curl,然后在最后2>&null以抑制它是否已安装?

如果找不到程序,which返回失败,因此您可以

which curl &> /dev/null || sudo apt install curl

请注意,如果有人在名为 curl $PATH具有不同的程序,则脚本以后仍可能失败。

-eq比较数字,而不是字符串。

相关内容

最新更新