请解释一下这个命令的含义:
wget -qO- https://toolbelt.heroku.com/install-ubuntu.sh | sh
wget
- 使用 wget 下载某些内容-qO-
第一个参数是 -q,但它是什么0-
意思?为什么它后面有一个破折号?| sh
- 关于管道的一些信息,但具体是什么呢?
是的,我读过 man wget。
答案1
-q
以安静模式运行 wget。
-O file
--output-document=file
The documents will not be written to the appropriate files, but all
will be concatenated together and written to file. If - is used as
file, documents will be printed to standard output, disabling link
conversion. (Use ./- to print to a file literally named -.)
sh
是 Bourne shell。有几种 shell,其中 Bourne 是旧标准。
上面的命令表示wget
以安静模式运行 ( -q
),并且由于输出 ( O
) 需要,因此不会提供文件作为目标,而是将文档打印到标准输出,从而禁用链接转换。然后开始-
使用管道。|
sh
答案2
-q
--quiet
Turn off Wget's output.
-O file
--output-document=file
The documents will not be written to the appropriate files, but all
will be concatenated together and written to file. If - is used as
file, documents will be printed to standard output, disabling link
conversion. (Use ./- to print to a file literally named -.)
sh
The shell is a command that reads lines from either a file or the terminal,
interprets them, and generally executes other commands.
sh 之前的竖线管道符将输出从-O-
(标准输出到终端)传输到sh
命令,该命令表示将在终端中下载的文件作为程序执行,假设首先下载的文件的权限设置为允许将文件作为程序执行。
要设置权限以允许将文件作为程序执行:右键单击该文件,选择特性打开“属性”弹出窗口,然后特性选择“权限”选项卡,然后在其左侧勾选:允许作为程序执行文件。
答案3
* wget:非交互式网络下载器 * -q (--quit):关闭 Wget 的输出。 * -O file (--output-document=file):文档不会写入相应的文件,但会全部连接在一起并写入文件。如果将 - 用作文件,文档将打印到标准输出,从而禁用链接转换。 * URL https://toolbelt.heroku.com/install-ubuntu.sh wget [选项]... [URL]... * | 管道 管道是由控制运算符 | 或 |& 分隔的一个或多个命令序列。 管道的格式为: [时间 [-p]] [ ! ] 命令 [ [|⎪|&] 命令2 ... ] command 的标准输出通过管道连接到 command2 的标准输入。 * sh 命令解释器(shell)
总的来说,这个命令只会从给定的 URL 下载名为 install-ubuntu.sh 的脚本,然后传递给管道作为下一个命令 sh 的输入。因此,这将在单个命令中安装并运行名为 install-ubuntu.sh 的脚本。