This question is unlikely to help any future visitors; it is only relevant to a small geographic area, a specific moment in time, or an extraordinarily narrow situation that is not generally applicable to the worldwide audience of the internet. For help making this question more broadly applicable, visit the help center




已关闭8年。




RVM主页

http://rvm.io/

建议人们使用以下方法安装RVM
bash < <( curl http://rvm.io/releases/rvm-install-head )

这是什么语法? command <( another_command)
原始行不能吗? curl http://rvm.io/releases/rvm-install-head | bash

最佳答案

<(command)使用命令的输出创建命名管道(或使用现有的/dev/fd文件),并将该管道的文件名替换为命令。然后<从该给定文件重定向标准输入。

所以是的,在这种情况下,这相当于

curl http://rvm.io/releases/rvm-install-head | bash

我不确定为什么他们会建议使用更复杂,更不便于携带的版本。在某些情况下,您更喜欢使用< <()的版本而不是使用管道的版本,因为管道为接收输入的命令创建了一个子 shell (在本例中为bash),而< <()为生成输出的命令创建了一个子 shell 。如果使用管道,则子 shell 程序中的命令无法在 shell 程序环境中修改变量,这有时是需要的(如果您希望将某些内容通过管道传送到while read ...命令)。但是,在这种情况下,命令的输出将直接传递给bash的显式调用;这里不需要从父 shell 运行任何东西。

10-07 16:23
查看更多