AIX - как изменить пользовательскую оболочку на bash?

9487
Mercer

Я хочу знать, как я могу работать bashавтоматически при входе на сервер AIX. Как я могу сделать это без необходимости вводить bashкаждый раз, когда я захожу на свой сервер AIX?

2

1 ответ на вопрос

6
Thomas Dickey

Обычно вы работаете chsh(см., Например, Изменение оболочек в IBM AIX ). Однако, если bashнет в этих файлах, вы можете сломать свой логин:

  • / etc / shells и
  • /etc/security/login.defs

В качестве обходного пути, вы можете заставить скрипт инициализации входа вашей оболочки запускаться bashнапрямую. Это будет работать, если ваша оболочка csh, например, модифицируется .login.

Если ваша оболочка входа в систему ksh, это немного сложнее: Ksh AIX использует .profile(который используется другими оболочками) и не устанавливает специальных переменных. Нечто подобное может работать для вас, в .profile:

[ $SHLVL = 1 ] && exec bash 

И ksh, и bash устанавливают эту переменную; это должно быть так, 1как вы только что вошли в систему, и увеличивается при переходе на bash.

При экспериментировании с подобными вещами важно иметь работающую оболочку на удаленном компьютере и тестировать входы в систему, используя другое соединение, в случае возникновения проблем с вашими правками.

У меня есть это: `Текущие доступные оболочки: / bin / sh / bin / bsh / bin / csh / bin / ksh / bin / tsh / bin / ksh93 / usr / bin / sh / usr / bin / bsh / usr / bin / csh / usr / bin / ksh / usr / bin / tsh / usr / bin / ksh93 / usr / sbin / uucp / uucico / usr / sbin / sliplogin / usr / sbin / snappd / usr / bin / rksh / usr / bin / rksh93 Текущая оболочка входа в систему ejab7330: / usr / bin / ksh` Mercer 9 лет назад 0