bash <<(curl -s https://rvm.io/install/rvm):它做了什么?

Tyl*_*itt 4 bash curl ruby-on-rails

可能重复:
这是什么意思"bash <<(curl rvm.io/releases/rvm-install-head)"

我正在努力在Mac OS X上安装Ruby on Rails,并且遇到了几个调用此行的教程:

bash < <(curl -s https://rvm.io/install/rvm)
Run Code Online (Sandbox Code Playgroud)

我不知道这bash < <是什么意思.

这条线做什么?

谢谢

drr*_*lvn 6

第一个<将右侧的文件重定向到stdin左侧的命令.

<(...)语法运行指定的命令,其输出保存到一个命名管道(一种特殊类型的文件输出任何写入它没有把它保存到磁盘)和替换整个<(...)与文件的名称.这称为进程替换(您可以查找man bash),只要需要文件但您想使用命令的输出,就会使用它.

至于curl,它是一个命令,它下载作为参数给出的URL,并将其输出到screen(stdout).

总之,您给出的命令是:

  1. 运行bash,将其作为输入提供临时命名管道的内容.
  2. 下载URL https://rvm.io/install/rvm,这是一个bash脚本,并将其保存到作为bash输入的临时命名管道中.

这有效地使用bash在URL上运行脚本.