Я хочу зайти в свой аккаунт, но не хочу, чтобы выполнялась текущая версия моего сценария входа в систему .profile. Есть ли способ войти без запуска .profile?
(Отказ от ответственности: я нашел обходной путь, который я разместил ниже, но мне интересно, есть ли лучший ответ)
Вы можете выполнить следующую команду:
ssh -t user@host bash --noprofile
где опция -t
для ssh
предназначена для принудительного tty выделения.
Это то, что я в итоге сделал:
scp me@machine:.profile .
# Fix .profile
scp .profile me@machine:.
ssh me@machine
Чтобы навсегда избежать неприятностей, в моем .bashrc
на целевой системе у меня есть:
if [ -z "$SSH_CLIENT" ] ; then
...
fi
окружающие ssh-несовместимые вещи. SSH_CLIENT
определен для оболочек, вызываемых через ssh, а не для других оболочек.
ssh user@somewhere "env >env.ssh"
пройдитесь по somewhere
, войдите как user
и:
env >env.local
diff env.local env.ssh