web-dev-qa-db-ja.com

自分のシェルをログインシェルとして使用するにはどうすればよいですか?

minishcdlsrmなどのみを提供するmkdirという名前のミニシェルがあるとします。minish~/Desktop/Shellに保存されます。 ~/Desktop/Shell/minishを呼び出すだけで、bashなどの他のシェルから使用できます。それはうまくいきます。

しかし、ログインシェルとして使用するために、~/Desktop/Shell/minishの下部に/etc/shellsを追加し、chshを実行して、~/Desktop/Shell/minishと入力しましたが、minishは無効なシェルであると表示されます。

私はこのエラーの2つの可能性を推測しました:

  • 他のシェルはすべて/binにあるため、minish/binにないためです。
  • Shellと呼ばれるいくつかの条件があるため、実行可能ファイルをShellにすることはできません。私のminishもそうです。

2番目のケースが理由である場合、それらの資格または必要性は何であり、chshはこの条件をどのようにチェックしますか?それとも他の理由がありますか?

ありがとうございました。

1
Analysis

~/Desktop/Shell/minishをそのまま/etc/shellsに入れます。 ~の展開はシェル機能であり、/etc/shellsを解析するアプリケーションではサポートされていない可能性があります。これは、ホームディレクトリ~が参照することになっているホームディレクトリがわからないためです。代わりに、フルパス名を使用する必要があります。 g。 /home/analysis/Desktop/Shell/minish

4
David Foerster