非対話型ログインシェルはありますか?

非対話型ログインシェルはありますか?

私は間の違いを知っています対話型/非対話型そしてログイン/非ログイン殻はありますが、実際には決してそうではないようです。いいえ- インタラクティブログインスクリプトのようなものがない場合は、シェルを使用してください/bin/bash --login some-script.sh(少し奇妙に見えます)。これは正しいですか、それとももっと一般的ですか?

ベストアンサー1

ログイン対非ログイン、対話型対非対話型BashシェルのBashの概念について話しているとします。祈るマンページセクション。 (説明とは異なります。ジェームズ・ヨンマンの答え「シェル」(またはユーザーコマンドソルバー)として使用される任意のコマンドpasswd(5)ファイルとプログラムがユーザー入力を許可するかどうか(たとえば、/usr/sbin/nologin明らかにそうではありません)

あなたは正しいです。これは/bin/bash --login some-script.shおそらく、病理学的な例である可能性がある非対話型ログインBash呼び出しを生成します。非対話型ログインシェルが発生することはまれですが、驚くべきことではありませんssh somehost < some-file。実行コマンドが与えられず、sshdBashを起動するように設定して、Bashをログインシェルと考えさせます。ただし、stdinが端末に接続されていないため、Bashはそれ自体が対話型モードに設定されません(含まれていません)。 )。argv[0]-bash$-i

ssh somehost somecommand(個人的には、このシナリオは新しいログインですが、「ログインシェル」とは見なされない反対のシナリオよりも合理的に見えますsomehost。)

ずっと前にやるべきことを最近やって、実行用のBashモードテーブルと初期化ファイル。これが混乱していると思っても心配しないでください。少なくとも私もそうでした。私を混乱させるのは、彼らの元の意図がいつ.bashrcそれをすべきかという規則を持つことでした。

おすすめ記事