Comme décrit ici, vous pouvez utiliser
ssh -t [email protected] bash --noprofile
en fait, comme le suggère @JoL, vous n'avez même pas besoin du --noprofile
, car lorsque ssh exécute bash comme une simple commande, il n'est pas considéré comme un shell de connexion. Exécution de ssh -t [email protected] bash
ne lira que les fichiers RC ; et exécutant ssh -t [email protected] bash --norc
ne les lira même pas.
Essayez de vous connecter en SSH et exécutez sh
au lieu de bash
, par exemple
ssh [email protected] sh
Puis renommer (mv
) ou modifier le fichier cassé (ex/vi
).
Exécutez ssh -t host vi .bash_profile
(ou l'éditeur de votre choix à la place de vi
) et corrigez votre .bash_profile
.
(Le -t
option peut ne pas être nécessaire, selon l'éditeur que vous choisissez.)
Si vous savez exactement ce qui doit être corrigé, vous pourrez peut-être le réparer de manière non interactive. Par exemple, quelque chose comme
printf 's/exec foo/. foo/\nwq\n' ssh host ed .bash_profile