Il existe différents types de coquillages. Le SSH exécution d'une commande shell non-interactif shell, alors que la normale de votre shell est un shell de connexion ou un shell interactif. La Description suit, à partir de l'homme bash:
Un shell de connexion est celle dont le premier caractère de l'argument
zéro est un -, ou l'on a commencé avec l'option --login.
Un shell interactif est celui qui a débuté en l'absence d'une option
arguments et sans l'option-c, dont l'entrée standard
et l'erreur sont connectés aux bornes (tel que déterminé
par isatty(3)), ou l'on a commencé avec l'option-i. PS1 est
définir et $- comprend je si bash est interactif, ce qui permet une
shell script ou un fichier de démarrage pour tester cet état.
Les paragraphes suivants décrivent comment bash exécute ses
les fichiers de démarrage. Si l'un des fichiers existent mais ne peut pas être
lire, bash signale une erreur. Tildes sont développés dans le fichier
des noms comme décrit ci-dessous en vertu de l'Expansion du Tilde
L'EXPANSION de la section.
Lorsque bash est invoqué comme un shell de connexion interactif, ou en tant que
un non-shell interactif avec l'option --login, il est d'abord
lit et exécute les commandes dans le fichier /etc/profile, si
ce fichier existe. Après la lecture de ce fichier, il recherche
~/.bash_profile, ~/.bash_login, et ~/.de profil, en ce que
l'ordre, et lit et exécute les commandes à partir de la première
qui existe et est lisible. L' --noprofile option peut
être utilisé lorsque le shell est lancé pour inhiber cette behav
ior.
Quand un shell de connexion des sorties, bash lit et exécute les commandes
dans le fichier ~/.bash_logout, si elle existe.
Quand un shell interactif qui n'est pas un shell de connexion est
commencé, bash lit et exécute les commandes à partir de ~/.bashrc,
si ce fichier existe. Cela peut être inhibée par l'aide de la
--norc option. L' --rcfile fichier option force bash
de lire et d'exécuter des commandes à partir d'un fichier au lieu de
~/.bashrc.
Lorsque bash est lancé en mode non interactif, d'exécuter un shell
script, par exemple, il recherche la variable BASH_ENV dans
l'environnement, élargit sa valeur s'il y figure,
et utilise l'élargissement de la valeur que le nom d'un fichier à lire
et de les exécuter. Bash se comporte comme si la commande suivante
ont été exécutées:
if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi
mais la valeur de la variable PATH n'est pas utilisé pour la recherche
pour le nom de fichier.