好的,所以我正在学习如何在我的 Mac 上安装 rvm 的教程。通过 curl 获取 rvm 的 bash 命令是
curl -L https://get.rvm.io | bash -s stable
Run Code Online (Sandbox Code Playgroud)
我了解 rvm.io 位置上前半部分的 curl 命令,并且结果通过管道传输到后续的 bash 命令,但我不确定该命令在做什么。我的问题:
-s :我总是对如何引用这些感到困惑。这是什么类型的东西:命令行参数?一个开关?还有什么?
-s :它在做什么?我已经用谷歌搜索了大约半个小时,但不知道如何引用它,这让它变得很困难。
稳定:这是什么?
tl;dr:帮我破译命令 bash -s stable
对于那些回答这篇文章的人,我渴望有一天能像你一样精通 bash。在此之前,像我这样的opstard 感谢您的帮助!
gni*_*urf 22
这-s东西叫做选项。在您的情况下,这意味着bash将使用第一个位置参数集执行。如果你想玩这个:
$ bash -s let us set some positional parameters just for fun
$ # doh? nothing seemed to happen
$ # In fact here we're in a new instance of bash with the parameters set. Look:
$ echo "$3"
set
$ echo "$5"
positional
$ # Get it?
$ printf "%s\n" "$@"
let
us
set
some
positional
parameters
just
for
fun
$ # Amazing!
$ # Let's get out of here!
$ exit
$ # (back to previous bash session)
$
Run Code Online (Sandbox Code Playgroud)
在您的情况下,通过 curl 下载的脚本被发送到bash(因此它将被执行)并将第一个位置参数设置为stable.
如果您被选项卡住了,您不知道它们是做什么的:man bash然后键入/-s这或多或少会让您到达-s描述选项的位置。或者,如果您想知道该-u选项的作用是sed:man sed然后输入/-u.
希望这可以帮助!