Suppose that I have a mini-shell, named minish which provides only cd, ls, rm, mkdir, etc. minish is saved in ~/Desktop/Shell. It can be used from other shell, such as bash, by calling just ~/Desktop/Shell/minish. It works well.
But to use it as the login shell, I added ~/Desktop/Shell/minish at the bottom of /etc/shells and execute chsh and typed ~/Desktop/Shell/minish, but it says minish is an invalid shell.
I guessed 2 possibilities of this error:
- Because
minishis not in/binsince other shells are all in/bin. - Because there are some qualifications to be called as a shell, so not any executable file can not be a shell, my
minisheither.
If the second case is the reason, what are those qualifications or necessaries and how chsh checks this conditions? Or is there any other reason?
Thank you.