Bir giriş kabuğu önce okur /etc/profilesonra da ~/.bash_profile.
Giriş yapmayan bir kabuk /etc/bash.bashrcve ardından okur ~/.bashrc.
Bu neden önemli?
Bu satırdan dolayı man ssh:
Eğer komut belirtilirse, bunun yerine bir giriş kabuğunun çalıştırmaktadır edilir.
Başka bir deyişle, ssh komutu yalnızca seçeneklere sahipse (bir komut değil), aşağıdaki gibi:
ssh user@host
Bir giriş kabuğu başlayacaktır, bir giriş kabuğu okur ~/.bash_profile.
Bir var bir ssh komutu komutu gibi:
ssh user@host :
Komutun olduğu yerde :(veya hiçbir şey yapmadan).
Bu olacak değil bu nedenle bir giriş kabuğu başlar ~/.bashrcokunacak budur.
Uzaktan stdin
Uzak bilgisayarda / dev / stdin için verilen tty bağlantısı gerçek bir tty veya başka bir şey olabilir.
İçin:
$ ssh sorontar@localhost
/etc/profile sourced
$ ls -la /dev/stdin
lrwxrwxrwx 1 root root 15 Dec 24 03:35 /dev/stdin -> /proc/self/fd/0
$ ls -la /proc/self/fd/0
lrwx------ 1 sorontar sorontar 64 Dec 24 19:34 /proc/self/fd/0 -> /dev/pts/3
$ ls -la /dev/pts/3
crw--w---- 1 sorontar tty 136, 3 Dec 24 19:35 /dev/pts/3
Başlatılan bash görüldüğü gibi hangi bir TTY (bir ağ bağlantısı değil) ile biter.
Komutlu bir ssh bağlantısı için:
$ ssh sorontar@localhost 'ls -la /dev/stdin'
sorontar@localhost's password:
lrwxrwxrwx 1 root root 15 Dec 24 03:35 /dev/stdin -> /proc/self/fd/0
TTY’lerin listesi de aynı şekilde başlıyor, ancak / etc / profile'nin kaynaklanmadığını unutmayın.
$ ssh sorontar@localhost 'ls -la /proc/self/fd/0'
sorontar@localhost's password:
lr-x------ 1 sorontar sorontar 64 Dec 24 19:39 /proc/self/fd/0 -> pipe:[6579259]
Kabuğa bağlantının bir boru olduğunu söyler (bir ağ bağlantısı değil).
Bu nedenle, her iki test durumunda da, kabuk bağlantının bir ağdan olduğunu ve bu nedenle ~/.bashrc(sadece bir ağ bağlantısı hakkında konuşursak) okumadığını bilemez . ~ / .Bashrc yazıyor, ancak farklı bir nedenden dolayı.