我用谷歌搜索了很多解决方案,但没有找到一个完全有效的解决方案。我自己的粗略工作是:
[ $(which curl) -eq "" ] || sudo apt install curl
Run Code Online (Sandbox Code Playgroud)
这不太有效,说“预期是一元运算符”。我已经尝试过=或==,所以我不知道如何进行这样的测试。空输出是否有可能which curl是 $null 而我必须对此进行测试?
或者,有没有办法只运行sudo apt install curl然后2>&null在最后抑制它是否已经安装?
which如果找不到该程序,则返回失败,因此您可以
which curl &> /dev/null || sudo apt install curl
Run Code Online (Sandbox Code Playgroud)
请注意,如果有人在 $PATH 中有一个名为curl 的不同程序,则该脚本稍后仍可能失败。
-eq比较数字,而不是字符串。
| 归档时间: |
|
| 查看次数: |
3752 次 |
| 最近记录: |