Причина, по которой моя оболочка продолжает возвращаться к bash и даже не позволяет мне использовать exec для входа в tcsh, заключается в том, что exec /bin/bash -l
в файле .cshrc была строка, в которой говорится: Чтобы исправить это, я удалил эту строку и с этого момента я могу переключать оболочки.
ypchsh не меняется на некоторые оболочки
Я в настоящее время в bash, но я хочу изменить свою оболочку на tcsh. Я использовал ypchsh, ввел свой пароль при появлении запроса, а затем изменил оболочку входа в систему / bin / tcsh. И казалось, что это работает, потому что я получаю сообщение, которое говорит: «Оболочка входа в систему была изменена на [домен]». Затем я вышел из системы и снова вошел в нее. Я сделал $ 0, чтобы проверить мою текущую оболочку, но он говорит, что я все еще в / bin / bash. Однако когда я выполняю echo $ SHELL, я получаю / bin / tcsh. И когда я делаю ps, он показывает, что вместо tcsh работает bash.
Были предприняты другие шаги по устранению неполадок: попытался сделать те же шаги, чтобы переключиться на разные оболочки, такие как sh и ksh, что работает. Однако, переход на csh дает мне тот же результат, что и попытка перейти на tcsh. Проверен / etc / shells и tcsh в списке. Я также попробовал exec tcsh, но система все еще работает под управлением bash.
Я пытаюсь сделать это на школьной учетной записи, поэтому, возможно, есть проблема с разрешением. Хотя один мой одноклассник смог заставить свой аккаунт сменить оболочку. Если нет разрешения, есть ли файл, который мне нужно настроить?
[user@machine ~]> echo $0 /bin/bash [user@machine ~]> echo $SHELL /bin/tcsh [user@machine ~]> ypchsh Changing NIS account information for user on machine Please enter password: Changing login shell for user on machine To accept the default, simply press return. To use the system's default shell, type the word "none". Login shell [/bin/tcsh]: /bin/tcsh The login shell has been changed on machine [user@machine ~]> logout [user@machine ~]> echo $0 /bin/bash [user@machine ~]> echo $SHELL /bin/tcsh [user@machine ~]> FOO=BAR [user@machine ~]> ps PID TTY TIME CMD 14549 pts/21 00:00:00 bash 14780 pts/21 00:00:00 ps [user@machine ~]> exec /bin/tcsh [user@machine ~]> echo $0 /bin/bash [user@machine ~]> echo $SHELL /bin/tcsh [user@machine ~]> FOO=BAR [user@machine ~]> [user@machine ~]> uname -a Linux machine 2.6.32-696.3.2.el6.i686 #1 SMP Tue Jun 20 00:48:23 UTC 2017 i686 i686 i386 GNU/Linux [user@machine ~]> /bin/ls -ld drwx--s--x 49 user group 4096 Sep 1 13:08 . [user@machine ~]> /bin/*sh /bin/csh: /bin/csh: cannot execute binary file [user@machine ~]> /usr/bin/*sh Usage: amuFormat.sh <Card Type> <drive> <Card Type> has to be defined in amuFormat.sh itself <drive> has to be defined in mtools.conf
1 ответ на вопрос
Похожие вопросы
-
2
.profile в Mac OS X?
-
1
Приостановить все, кроме x задач, интенсивно использующих процессор
-
6
Какие функции Zsh вы используете?
-
-
8
Убийство Windows Shell
-
3
Mac OS X: обычные места, где должны жить бинарные файлы
-
2
Mac OS X: нужен простой скрипт
-
10
Как я могу найти в истории bash и повторно запустить команду?
-
2
Можно ли передать выходные данные одной команды двум другим командам?
-
8
Переименуйте группу файлов одной командой
-
2
Почему мой путь не обновляется * сейчас *?