Я пытаюсь изменить свою оболочку по умолчанию на мою собственную оболочку opsh
(Открытый Shell), но это не работает:
$ echo $0
bash
developer@1604:~$ echo $SHELL
/bin/opsh
developer@1604:~$ chsh -s /bin/opsh
Password:
chsh: /bin/opsh is an invalid shell
developer@1604:~$ more /etc/shells
# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
/usr/bin/fish
/bin/ksh93
/bin/rksh93
/bin/zsh
/usr/bin/zsh
/bin/mksh
/bin/mksh-static
/bin/opsh
/usr/bin/opsh
Я могу на самом деле выполнить свою оболочку как/bin/opsh
$ /bin/opsh
$ echo $0
/bin/opsh
$ uname -a|grep Linux
Linux 1604 4.4.0-77-generic #98-Ubuntu SMP Wed Apr 26 08:34:02 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
$
Фактический путь к Вашему двоичному файлу оболочки, очевидно
/bin/opsh
, но Вы добавили его в /etc/shells
как
/usr/bin/opsh
(Можно также изменить имя на oopsh
... ;-))