2016-03-23 17 views
0

Ssh oturumlarımdaki bash (veya zsh) için varsayılan olarak kullanmak istiyorum, bu yüzden erişildiğini bildiğim kabuk profiline exec bash -l eklemeyi denedim: .cshrc.ssh oturumu için bash varsayılan kabuk olması için 'exec bash -l' öğesini .cshrc'ye eklerim? (veya ne)

Bu göründü, ancak deneme yanılma yöntemlerim beni ziyarete geliyor. scp [email protected]:file . komutu, yalnızca exec bash -l satırını kaldırdığımda çalışır.

Bu bir bash kabuğuna giriş yapmanın doğru yolu mu yoksa başka bir şey mi yapmalıyım? Benim gerçek ssh [email protected] çağrısı belki yerel bir çözüm. Belirli hatalar Bir düzenleme yapıştırabilirsiniz edeceğiz alakalı ama şüpheleniyorsanız sorun ben yanlış yapıyorum olduğunu

...

+0

İlk olarak, söz edilmektedir scp VE ssh. Sanırım sadece ssh demek istiyorsun? İkincisi, sadece "işe yaramıyor" diyorsun. Sadece bu bilgilerle çok fazla yardım edemeyiz. Son olarak, .cshrc'inizin hangi yerinden * exec bash * yazdığını söylemediniz. Her halükarda, hata ayıklanırken, bash -x -l'yi çalıştırmalı ve sonucu analiz etmelisiniz. .cshrc profilimin sonundaki – user1934428

+0

exec bash -l (açık olarak). Ssh iyi çalıştığı için scp demek istiyorum. scp uzaktaki ana bilgisayardan 'dosya' kopyalamaya çalışırken bir hata verir. Exec bash -l'yi kaldırdığımda bunu yapmaz. Sanırım soru zaten cevaplandı. – Alejandro

+0

Scp'nin .cshrc'nin çalıştırılmasına neden olacağına şaşırdım. Uzak ana bilgisayarda sizi yetkilendirmek gerekiyor, ama hiç bir kabuk çalıştırmaya gerek yok .... – user1934428

cevap

3

kullanın chsh komut varsayılan giriş kabuk değiştirme.

Baskı mevcut kabukları listesi:

chsh -l 

değiştir varsayılan kabuk:

chsh -s /bin/bash <username> 

geçerli kullanıcının varsayılan giriş kabuğu:

getent passwd <username> | cut -d: -f7 
+0

oh! işe yaradı. Ve girişte kabukları değiştirmek istersem bunu .cshrc içine koymak iyi bir uygulamadır. – Alejandro

+0

Hayır. Bunu başarmak için kötü bir yoldur. – 7171u

+0

Bunun yerine ne yapıyorum? – Alejandro