Jawaban Mike mungkin akan berhasil. Tetapi perlu menunjukkan bahwa Anda dapat melakukannya dengan hati-hati memilih file startup mana yang akan dimasukkan. Dari halaman bash man:
Ketika bash dipanggil sebagai shell login interaktif, atau sebagai shell non-interaktif dengan opsi --login, ia pertama kali membaca dan mengeksekusi perintah dari file / etc / profile, jika file itu ada. Setelah membaca file itu, ia mencari ~ / .bash_profile, ~ / .bash_login, dan ~ / .profile, dalam urutan itu, dan membaca serta mengeksekusi perintah dari yang pertama yang ada dan dapat dibaca. Opsi --noprofile dapat digunakan ketika shell mulai menghambat perilaku ini.
Ketika shell interaktif yang bukan shell login dimulai, bash membaca dan mengeksekusi perintah dari ~ / .bashrc, jika file itu ada. Ini dapat dihambat dengan menggunakan opsi --norc. Opsi file --rcfile akan memaksa bash untuk membaca dan menjalankan perintah dari file daripada ~ / .bashrc.
Alat sftp / scp memulai shell non-login interaktif, sehingga .bashrc akan bersumber. Banyak distribusi .bashrc dari .bash_profile atau sebaliknya, sehingga bisa membingungkan. Trik yang baik untuk menguji kebersihan lingkungan login Anda adalah ssh in dengan perintah, yang mensimulasikan cara yang sama scp / sftp terhubung. Sebagai contoh: ssh myhost /bin/true
akan menunjukkan kepada Anda apa yang scp / sftp lihat ketika mereka terhubung.
Demo sederhana:
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$
Tes pertama akan menyebabkan scp / sftp / rsync dll rusak. Versi kedua akan berfungsi dengan baik.
.bashrc
akan sumberscp
ataussh host command
.