bash - bash,测试curl是否存在,如果不存在则安装
问题描述
我搜索了许多解决方案,但没有找到一个完全有效的解决方案。我自己的粗活是:
[ $(which curl) -eq "" ] || sudo apt install curl
这不太奏效,说“预期一元运算符”。我试过=
or ==
,所以我不知道如何做这样的测试。是否有可能来自的空输出which curl
是 $null 并且我必须对此进行测试?
或者,有没有办法只运行sudo apt install curl
然后2>&null
在最后抑制它是否已经安装?
解决方案
which
如果找不到程序,则返回失败,因此您可以
which curl &> /dev/null || sudo apt install curl
请注意,如果有人在 $PATH 中有一个名为 curl 的不同程序,则该脚本稍后仍会失败。
-eq
比较数字,而不是字符串。
推荐阅读
- php - 我的 jquery 代码似乎没有向 php 发送数据,我们如何使用 jQuery 向 php 发送数据,以及 php 如何接收它?
- python - 更改表示为字节的 int 的字节长度
- ansible - 如何在 Ansible 中使用 slurp 设置远程主机?
- python - “在 div 标签中提取文本”但给出错误
- python - 用于匹配 XX/YY 字符串但不匹配 XX/YY/ZZ 字符串的正则表达式
- python - 每个帖子标题的 Python Scrape 论坛
- c++ - STL“sort()”排序不充分
- postgresql - Postgresql 选择热敏打印机
- python-3.x - 将新文档添加到现有集群中
- python - 立即销毁 tkinter 按钮和菜单