Sunucularımdan birinde, komut istemi [kullanıcı @ ana bilgisayar yolu] ... ve aslında yolu otomatik doldurmak için "sekme" ye basabilirim.
Ama yeni Ubuntu sunucumda bu sadece bir dolar işareti mi?
Sunucularımdan birinde, komut istemi [kullanıcı @ ana bilgisayar yolu] ... ve aslında yolu otomatik doldurmak için "sekme" ye basabilirim.
Ama yeni Ubuntu sunucumda bu sadece bir dolar işareti mi?
Yanıtlar:
İki soru sorduğunuz için ikisine de cevap vereceğim.
Çünkü kabuk ya onu desteklemiyor ya da sekme tamamlama açık değil.
Bunu çözmek için önce kabuğunuzun ne olduğunu keşfetmeniz gerekir. Kabuğunu sevdiğiniz makinede koşun
echo $SHELL
Hiç ortak görebilirsiniz /bin/bash
, ya da bir şey daha az yaygın gibi /bin/tcsh
, /bin/zsh
tamamen başka bir şey.
Artık kabuğunuzu Ubuntu makinesinde değiştirebilirsiniz. Bu makinede, önce istediğiniz kabuğun var olduğundan emin olun. Kabuk, Ubuntu makinesinde diğeriyle aynı konumda olmayabileceğinden, yazarak konumu kontrol edin.
which bash
Bu, size böyle bir şey istediğiniz kabuk yolunu verecek /bin/bash
, /usr/bin/bash
ya da /usr/local/bin/bash
. Eğer bash dışında bir kabuk istiyorsanız Tabii, sen söylerim which tcsh
, which zsh
veya benzeri.
Bir yol görmüyorsanız, ancak bunun yerine görüyorsanız bash not found
, uygun paketi yüklemeniz which
ve kabuğun nereye kurulduğunu bulmak için tekrar kullanmanız gerekir.
Seçtiğiniz kabuğun yoluyla, nihayet koşarak kabuğunuzu değiştirebilirsiniz.
chsh -s /bin/bash
/bin/bash
seçtiğiniz kabuk için uygun yol ne olursa olsun yerine koymak .
Çünkü senin istemi ortam değişkenleri $PS1
, $PS2
ve bu kadar. Bunlar mermiler arasında taşınabilir olma eğiliminde değil, bu yüzden olası adaylar için birkaç bağlantı:
bash
Bash Değişkenleri ( & c dahil ) ve İstemi Yazdırma ( uzun adı açıklayan ) sayfalarıyla kapsamlı bir el kitabına sahiptir . Aşağıdaki satırıPS1
PROMPT_COMMAND
PS1
~/.bashrc
export PS1='[\u@\h \w] '
tcsh
Bir sahiptir online manuel bir bölümle (sadece kendi man sayfası), istemi ortam değişkenleri. Aşağıdaki satırı~/.tcshrc
set prompt='[%n@%m %~] '
zsh
Bir sahiptir kullanım kılavuzunu bir ile, ister basit bir rehber , hem de bir el üzerinde çok detaylı atfen, İstemi Genişleme . Aşağıdaki satırı~/.zshrc
export PS1='[%n@%m %~] '
Bash tek kabuk değil.
Sorununuz, PS1'i ayarlayan bir .profile veya .bashrc'ye sahip olmamanız basit bir sorun olabilir veya giriş kabuğunuzun hiç bash olmaması olabilir.
Bash, gnu readline
sekme tamamlama gibi şeyler için kullanır . Bu karmaşık bir konudur ve readline'ın kendi kullanıcı başına yapılandırma dosyası bile vardır.
Bkz man bash
, man sh
ve man 3 readline
. Bash cevap veriyor --version
. Birçok linux sisteminde, /bin/sh
aslında bash değil, genellikle sakat bir versiyonu ash
.
dash
yerine değil ash
mi? böyle bir şey okumak düşündüm
sanırım, bash kullanmıyorsunuz, ama sh ve isteminiz düzgün ayarlanmamış (bu sh ile bile mümkünse).
şu anki kabuğunuzu yazarak alabilirsiniz: echo $SHELL
bash'ı başlatmak istiyorsanız, şunu yazın bash
sh
. Yankılama $SHELL
adlı bir ortam değişkeni yazdırır SHELL
. Bu ortam değişkeni kabuğa işaret eder ve yalnızca bash tarafından ayarlanır. Hangi kabuğun çalıştığını belirlemede yaklaşık olarak işe yaramaz, çünkü mevcut sürecin bazı ebeveynlerinin bash olabileceğini gösterir.
/bin/sh
evet adlı bir yürütülebilir dosya vardır . Ama adı olan hiçbir kabuk bilmiyorum sh
. Aklıma ash
, ksh
, csh
, bash
, zsh
, ve tcsh
. Birincisi linux ve NetBSD üzerindeki olağan / bin / sh, sonuncusu normal FreeBSD kabuğudur ve diğerleri isteğe bağlı kabuklardır. Birçok masaüstü ortamı, / bin / sh öğesini kül olarak bırakırken kullanıcıların oturum açma kabuğunu bash olarak değiştirir.
sh
Bourne kabuğudur. tr.wikipedia.org/wiki/Bourne_shell Bazı sistemler (Solaris) hala Bourne kabuğunun sadece yeniden uygulamalardan birinin (kül, tire, bash, ksh, zsh) bir kopyası olmayan bir sürümü ile birlikte gelir.
Oturum açma komut dosyanızdan birinde PS1 adlı bir değişken ayarlamanız gerekir, örneğin / etc / profile veya ~ / .bashrc. Dağıtımınıza bağlı olacaktır.
Örnek: http://www.cyberciti.biz/tips/howto-linux-unix-bash-shell-setup-prompt.html
pwd
Geçerli çalışma dizininin adını yazdırmak için istediğiniz zaman yazabilirsiniz . Tab sekmesinin de çalışmadığını mı söylüyorsunuz? (Kullandığım bazı makinelerde, yalnızca root olarak giriş yaptığımda bu kısa istemi alıyorum ve bunu hoş bir uyarı olarak yerinde mutlu bir şekilde bırakıyorum. , sen misin?)