18

Хорошо, так что я работаю через учебник, чтобы установить RVM на моем Mac. команда bash для получения rvm через curl

curl -L https://get.rvm.io | bash -s stable

Я понимаю команду curl первой половины в местоположении rvm.io, и что результат передается в последующую команду bash, но я не уверен, что делает эта команда. Мои вопросы:

-s: я всегда запутался в том, как обращаться к ним. что это за вещь: аргумент командной строки? переключатель? что-то другое?

-s: что он делает? Я гуглил около получаса, но не уверен, как к нему обратиться, это затрудняет.

стабильный: что это?

tl; dr: помогите мне расшифровать команду bash -s stable

тем, кто отвечает на этот пост, я стремлюсь когда-нибудь быть таким же грамотным, как вы. до тех пор, такие опстарды, как я, спасибо за помощь!

1 ответ1

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)
$

В вашем случае скрипт, загруженный с помощью curl, отправляется в bash (поэтому он будет выполнен), и для первого позиционного параметра будет задано значение stable .

Если вы когда-нибудь застряли с опциями, вы не знаете, что они делают: man bash а затем напечатайте /-s это более или менее приведет вас туда, где описана опция -s . Или, если вы хотите узнать, что опция -u делает для sed: man sed а затем введите /-u .

Надеюсь это поможет!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .