benim bash büyümü geliştirmeye çalışıyorum. Bu komutu deşifre etmeye yardım et: bash -s kararlı


18

tamam bu yüzden benim mac rvm yüklü almak için bir öğretici ile çalışıyorum. kıvrılma yoluyla rvm almak için bash komutu

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

Ben ilk yarının kıvrılma komutunu konum rvm.io anlıyorum ve sonuç sonraki bash komutuna piped, ama bu komutun ne yaptığından emin değilim. Sorularım:

-s: bunlara nasıl atıfta bulunacağım konusunda hep kafam karıştı bu ne tür bir şey: bir komut satırı argümanı? Bir anahtar? başka bir şey?

-s: ne yapıyor? yaklaşık yarım saat için googled var ama nasıl başvurmak zor emin değil.

kararlı: bu nedir?

tl; dr: bash -s kararlı komutunun şifresini çözmeme yardım et

Bu gönderiyi cevaplayanlara, bir gün senin gibi bash okuryazar olmayı arzuluyorum. o zamana kadar, benim gibi opstards yardım için teşekkür ederim!

Yanıtlar:


22

-sŞey bir seçenek olarak adlandırılır. Sizin durumunuzda, bunun bashilk konumsal parametre seti ile yürütüleceği anlamına gelir . Bununla oynamak istiyorsanız:

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

Sizin durumunuzda, curl ile indirilen komut dosyası adresine gönderilir bash(böylece yürütülür) ve ilk konum parametresi olarak ayarlanır stable.

Seçeneklerle sıkışıp kalırsanız, ne yaptıklarını bilmiyorsunuz: man bashve sonra bunu yazdığınızda, seçeneklerin açıklandığı /-syere gidersiniz -s. Veya -useçeneğin ne işe yaradığını bilmek istiyorsanız sed: yazın man sedve yazın /-u.

Bu yardımcı olur umarım!


"Konumsal parametre"
MikeSchinkel

2
@MikeSchinkel: referansa bakın . Konumsal parametreler rakamlarla gösterilen değişkenlerdir, örn . $1, $8. Onları doğrudan ayarlayamazsınız. Bir programı veya işlevi çağırdığınızda otomatik olarak ayarlanırlar. Bir fonksiyonu örneğin: fun() { echo "Parameter 2 is $2"; }. Sonra deneyin fun hello worldve fun "hello gniourf" "how are you?".
gniourf_gniourf

Tamam teşekkürler. Ama yine de kafası karıştı; bu -sseçeneği kullanmamaktan ne farkı var ?
MikeSchinkel

1
@MikeSchinkel Seçenek olmadan -s: dosyayıbash stable arayacak ve yürütmeye çalışacaktır. İle seçeneğiyle: : ile, onun stdin gelenleri çalıştırır olarak sette . stable-sbash -s stablestable$1
gniourf_gniourf
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.