Come descritto qui puoi usare
ssh -t [email protected] bash --noprofile
infatti, come suggerisce @JoL, non hai nemmeno bisogno del --noprofile
, poiché quando ssh esegue bash come un altro comando, non è considerata una shell di login. Esecuzione di ssh -t [email protected] bash
leggerà solo i file RC; ed eseguendo ssh -t [email protected] bash --norc
non leggerà nemmeno quelli.
Prova a SSH ed esegui sh
invece di bash
, ad esempio
ssh [email protected] sh
Quindi rinomina (mv
) o modificare il file corrotto (ex/vi
).
Esegui ssh -t host vi .bash_profile
(o l'editor di tua scelta al posto di vi
) e correggi il tuo .bash_profile
.
(Il -t
potrebbe non essere necessaria, a seconda dell'editor scelto.)
Se sai esattamente cosa deve essere corretto, potresti essere in grado di risolverlo in modo non interattivo. Ad esempio, qualcosa come
printf 's/exec foo/. foo/\nwq\n' ssh host ed .bash_profile