Mike'ın cevabı muhtemelen işe yarayacak. Ancak, ayrıntılı şeyleri hangi başlangıç dosyalarına koyacağınızı dikkatlice seçebileceğinizi belirtmek gerekir. Bash man sayfasından:
Bash etkileşimli bir giriş kabuğu olarak veya --login seçeneğiyle etkileşimli olmayan bir kabuk olarak çağrıldığında, dosya varsa / etc / profilinden komutları okur ve yürütür. Bu dosyayı okuduktan sonra bu sırayla ~ / .bash_profile, ~ / .bash_login ve ~ / .profile arar ve var olan ve okunabilir olan ilk komutları okur ve yürütür. --Noprofile seçeneği, kabuk bu davranışı engellemeye başladığında kullanılabilir.
Oturum açma kabuğu olmayan bir etkileşimli kabuk başlatıldığında, bash bu dosya varsa ~ / .bashrc'den komutları okur ve yürütür. Bu, --norc seçeneği kullanılarak engellenebilir. --Rcfile dosyası seçeneği bash komutunu ~ / .bashrc yerine dosyadan okumaya ve yürütmeye zorlar.
Sftp / scp araçları etkileşimli bir oturum açma kabuğu başlatır, bu nedenle .bashrc kaynaklanır. Birçok dağıtım .bashrc kaynağını .bash_profile kaynağından ya da tam tersini sağlar, böylece kafa karıştırıcı olabilir. Giriş ortamınızın temizliğini test etmek için iyi bir hile, scp / sftp connect ile aynı şekilde simüle edilen bir komutla ssh etmektir. Örneğin: ssh myhost /bin/true
scp / sftp bağlandıklarında tam olarak ne gördüğünü gösterir.
Basit bir demo:
insyte@mazer:~$ echo "echo Hello from .profile" > .profile
insyte@mazer:~$ echo "echo Hello from .bashrc" > .bashrc
sazerac:~ insyte$ ssh mazer /bin/true
Hello from .bashrc
sazerac:~ insyte$
insyte@mazer:~$ rm .bashrc
sazerac:~ insyte$ ssh mazer /bin/true
sazerac:~ insyte$
İlk test scp / sftp / rsync vb .'nin bozulmasına neden olur. İkinci sürüm gayet iyi çalışacaktır.
.bashrc
scp
ssh host command