什么是| (竖线字符)在shell(bash)命令中执行?

Jwa*_*622 5 bash

我必须运行此命令来安装NPM。它有什么作用?什么是| 在最后?

curl https://raw.githubusercontent.com/creationix/nvm/v0.23.2/install.sh | bash
Run Code Online (Sandbox Code Playgroud)

另外,我是否在Bash中运行类似UNIX的命令?为什么这样做?Bash是终端的UNIX命令兼容接口吗?

Chr*_*son 12

在 bash(和大多数 *nix shell)中,|(管道)符号从一个命令中获取输出并将其用作下一个命令的输入。

您在这里所做的是使用 curl 检索 install.sh 文件,然后将其内容输出到 bash 中,这是一个将执行 install.sh 内容的 shell

简而言之,您正在下载并运行 install.sh 脚本。

  • 你是什​​么意思“输入下一个命令”?“bash”命令是否接受输入? (2认同)
  • 所有 *nix 程序都有三个流,标准输入、标准输出和标准错误。当您通过管道将输入传递给程序可以使用的标准时,类似于参数。一个例子是```cat 文件| grep 关键字 | less``` 这将打印文件的内容,然后过滤文件的内容,然后在屏幕上显示结果。http://stackoverflow.com/questions/9834086/what-is-a-simple-explanation-for-how-pipes-work-in-bash 更好地解释了它。 (2认同)