$ SHELL -l exec ne yapar?


2

Kazara emri ben verdim

exec $SHELL -l

benim terminalimde ve istemimin görünme şeklini değiştirdi

Macintosh:~ myname$ exec $SHELL -l
Macintosh-2:~ myname$ cd

yani Macintosh'tan sonra "-2" var

Macintosh:~ myname$
Macintosh-2: myname$

Bunun sistemimde yaşadığım bazı sorunlardan sorumlu olup olmadığından emin değilim.

Rbenv ile kurduğum sistemde Ruby 1.9.3 kullanmaya çalışıyorum.

rbenv version
1.9.3-p327

Ancak, taşlar yüklemeye çalıştığımda, en azından yakut 1.9.2 gerektiren bir hata mesajı alıyorum, bu yüzden makinenin hala Mac'im ile birlikte gelen Ruby sürümünü kullandığını farz ediyorum. Bunu düzeltmeye çalıştım

gem install bundle
rbenv rehash
bundle install

ama en azından Ruby 1.9.2'ye ihtiyaç duyma konusunda aynı hata mesajını almaya devam ediyorum, bu yüzden koşmanın etkisinin exec $SHELL -lmücevherlerin bir nedenden dolayı kurulmasını engelleyip engellemediğini merak ediyorum .


Hangi kabuğu kullanıyorsunuz? (En muhtemel cevap bash, fakat csh, kshve zshbaşka bir kaç olasılıktır.) Yazarken ne görüyorsunuz echo $SHELL? (Bu sorunun cevabı muhtemelen ilk sorunun cevabını verecektir.) Çıkış yapıp tekrar giriş yaparsanız (ya da yeni bir kabuk penceresi başlatırsanız (hangisi geçerliyse) ne olur?) Ne sorunlar yaşıyorsunuz?
Scott

@Scott Mac'tayım, dağ aslanı. Sorunumu OP güncellemesinde açıklayacağım.
BrainLikeADullPencil

Yanıtlar:


2

$SHELLkabuğuna atıfta bulunur (komut yorumcusu) Çoğu kabuk, –l(küçük harf L) seçeneğini bir “giriş kabuğu” olduğu anlamına gelir; bu, temel olarak ekstra komut dosyalarını okuduğu ve işlediği anlamına gelir (örneğin, cshher zaman okur .cshrc, ancak “giriş kabuğu” ise, o da okur. .login). Çalışan yeni bir kabuk işlemi başlattınız ve “giriş kabuğu” gibi davranmasını söylediniz.

Bazı mermiler ( bashbir tane olduğuna inanıyorum ) hiyerarşik kabuk işlemlerini takip eder ve kullanıcının derinlik veya seviyeyi göstermesine izin verir. Bu genellikle aşağıdaki gibi kabuk istemi içine dahil edilir:

 (komut satırı) (komut satırı) (komut satırı) # Kabuk seviyesinin yeni bir kabuk işleminde olduğunuzu belirten , (komut satırı dizesi) # olduğuna dikkat edin. (bilgi istemi dizgisi) (bilgi istemi dizgisi) # Orijinal kabuk işlemine geri dönme notu.pwd
/dir1
 $SHELL
  2 cd ../dir2                2
  2 rm *                           
  2 exit
 pwd                                   
/dir1

Bunun RubyGems ile sorununuzla bir ilgisi olmamalıdır.


1
teşekkürler, ama orijinal kabuk seviyesine geri dönemem. '
Çıkış'ı denedim ve oturumu kapattı
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.