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/zshtamamen 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/bashya da /usr/local/bin/bash. Eğer bash dışında bir kabuk istiyorsanız Tabii, sen söylerim which tcsh, which zshveya benzeri.
Bir yol görmüyorsanız, ancak bunun yerine görüyorsanız bash not found, uygun paketi yüklemeniz whichve 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/bashseçtiğiniz kabuk için uygun yol ne olursa olsun yerine koymak .
Çünkü senin istemi ortam değişkenleri $PS1, $PS2ve bu kadar. Bunlar mermiler arasında taşınabilir olma eğiliminde değil, bu yüzden olası adaylar için birkaç bağlantı:
bashBash 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ıPS1PROMPT_COMMANDPS1~/.bashrc
export PS1='[\u@\h \w] '
tcshBir 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 %~] '
zshBir 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 readlinesekme 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 shve man 3 readline. Bash cevap veriyor --version. Birçok linux sisteminde, /bin/shaslında bash değil, genellikle sakat bir versiyonu ash.
dashyerine değil ashmi? 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 $SHELLadlı 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/shevet 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.
shBourne 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
pwdGeç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?)