minish
、cd
、ls
、rm
などのみを提供するmkdir
という名前のミニシェルがあるとします。minish
は~/Desktop/Shell
に保存されます。 ~/Desktop/Shell/minish
を呼び出すだけで、bash
などの他のシェルから使用できます。それはうまくいきます。
しかし、ログインシェルとして使用するために、~/Desktop/Shell/minish
の下部に/etc/shells
を追加し、chsh
を実行して、~/Desktop/Shell/minish
と入力しましたが、minish
は無効なシェルであると表示されます。
私はこのエラーの2つの可能性を推測しました:
/bin
にあるため、minish
は/bin
にないためです。minish
もそうです。2番目のケースが理由である場合、それらの資格または必要性は何であり、chsh
はこの条件をどのようにチェックしますか?それとも他の理由がありますか?
ありがとうございました。
~/Desktop/Shell/minish
をそのまま/etc/shells
に入れます。 ~
の展開はシェル機能であり、/etc/shells
を解析するアプリケーションではサポートされていない可能性があります。これは、ホームディレクトリ~
が参照することになっているホームディレクトリがわからないためです。代わりに、フルパス名を使用する必要があります。 g。 /home/analysis/Desktop/Shell/minish
。