2

Я в настоящее время в 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 ответ1

0

Причина, по которой моя оболочка продолжает возвращаться к bash и даже не позволяет мне использовать exec для входа в tcsh, заключается в том, что в файле .cshrc есть строка, в которой написано exec /bin/bash -l . Чтобы исправить это, я удалил эту строку и с этого момента я могу переключать оболочки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .