![有人能解释一下这个安装 Heroku 工具带的 wget 命令的作用吗?](https://linux22.com/image/821682/%E6%9C%89%E4%BA%BA%E8%83%BD%E8%A7%A3%E9%87%8A%E4%B8%80%E4%B8%8B%E8%BF%99%E4%B8%AA%E5%AE%89%E8%A3%85%20Heroku%20%E5%B7%A5%E5%85%B7%E5%B8%A6%E7%9A%84%20wget%20%E5%91%BD%E4%BB%A4%E7%9A%84%E4%BD%9C%E7%94%A8%E5%90%97%EF%BC%9F.png)
答案1
该命令实际上wget -qO
不是wget -q0
。
它将下载文件https://toolbelt.heroku.com/install.sh默默地(-q选项)并且下载的任何内容将被连接在一起并写入单个文件缓冲区文件(-O选项),然后会将下载的缓冲区复制到 并使用 执行sh
。
sh
是一个shell解释器,它将运行wget刚刚下载的信息。
因此,简单地说,您可以使用这个命令来告诉:下载这个 sh 文件,不要创建进度输出,无论您下载什么,都用 执行它sh
。
答案2
与大多数从终端启动的独立程序一样,wget 通常不会在其父级(终端)关闭(通过注销等)后继续运行。
-qO-
是两个命令行选项的缩写-q -O-
- q 告诉 wget 不要输出状态/进度信息
- O- 告诉它将下载的数据输出到标准输出
| sh
将数据从标准输出传输到sh
命令,执行脚本
答案3
那不是一个 0(数字),而是一个 O(字母),它将输出重定向到一个文件,在本例中是(-)标准输出,因此下载的文件的内容将被重定向(通过 |)到标准输入sh
。sh
是一个 shell,一个命令解释器,它将执行它收到的命令。
您可以搜索了解更多重定向在 sh 手册页 ( man sh
) 中。