Путем ввода echo $0
, Я знаю, что использую tcsh
в моем терминале Ubuntu 13.04. Однако, неважно, использование chsh -s /bin/bash
или просто ввод bash
все еще не может сделать удар как мою существующую оболочку. Интересная вещь - это, если я ввожу sh
, затем моя оболочка будет sh
. Наконец я нашел более интересную вещь: каждый раз после того, как я ввод bash
, Я ввожу ps
для наблюдения изменения я нашел, что получаю еще две строки: каждый - новый удар PID, другой - новый tcsh PID, что означает каждый раз после того, как я пытался использовать оболочку удара, система автоматически возвращают мою оболочку к tcsh сразу. Как я могу решить это?Пожалуйста, помогите мне!Спасибо!
При помощи echo $0
, Вы получите название рабочего процесса, название файла, как был вызван на командную строку, название команды, в настоящее время выполняемой (см. Специальные переменные оболочки). Правильная команда, которая возвратит Вашу текущую оболочку, где Вы находитесь в:
echo $SHELL
Там находится, вероятно, Ваш беспорядок. И да, правильная команда для изменения оболочки по умолчанию:
chsh
Лучше для использования его без любых аргументов для наблюдения точно, что происходит.
Сначала напечатайте cat /etc/shells
, чтобы увидеть список доступных оболочек, затем используйте chsh
для взаимодействия & amp; изменить оболочку. Если вы хотите использовать его из сценария, используйте chsh --shell SHELLNAME
.
Я также предлагаю прочитать /etc/login.defs
, чтобы увидеть, что вы можете настроить, это интересно и интересно. полезно.
Хорошего дня.