“<

“<

我发现 rvm(ruby 版本管理器)是使用以下命令安装的:

bash < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer )

据我了解,我们获取脚本内容并将其传递给 bash(我相信< <<<是同一件事?)我对此部分感兴趣< <,在网上找到了以下描述:

<<token 表示使用当前输入流作为程序的 STDIN,直到看到 token。

这对我来说不太清楚,有人可以举个例子或者用更简单的方式解释一下吗?

答案1

不,< <<<不是同一件事。

第一个由公共<重定向字符与语法的第一个字符组合而成<(command)。这是一个ksh构造(也可以在bash和中找到zsh)称为流程替代它获取输出并将其提供在一个文件中,该文件的名称引用正在写入的command管道的另一端。command

换句话说,您可以将< <(command)其视为< file,其中 file 包含 的输出command

答案2

这是一种实现更简单的复杂方法:

curl -s https://raw.github.com/... | bash

相关内容