O caminho real para o seu binário shell é obviamente
/bin/opsh
mas você adicionou em /etc/shells as
/usr/bin/opsh
(Você também pode mudar o nome para oopsh ...; -))
Eu tento alterar meu shell padrão para meu próprio shell opsh (The Open Shell), mas não funciona:
$ 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
Eu posso realmente executar meu shell como / 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
$
O caminho real para o seu binário shell é obviamente
/bin/opsh
mas você adicionou em /etc/shells as
/usr/bin/opsh
(Você também pode mudar o nome para oopsh ...; -))