質問: ルートのシェルをデフォルト以外に設定するのは悪い習慣ですか? 私の友人(経験豊富なunix/linuxユーザー)が、rootのシェルをsh以外(つまりbashまたはzsh)に設定すると問題が発生する可能性があると言ったことがあります。これは、一部のスクリプトがシェルがshであると想定し、奇妙なことを行う可能性があるためです。 。ただし、ubuntuではデフォルトのルートシェルがbashに設定されており、gentooもbashを使用していると思います。誰かが神話を破ることができますか?
回答: 問題にはならないはずです。シェルスクリプトファイルは、実行されるシェルを明示的にエンコードします。最初の行にエンコードされているか、他のプログラムまたはスクリプトが特定のシェルを実行し、引数としてシェルスクリプトを指定します。ユーザーアカウントのシェル情報(ログインプロセス以外)を使用する、私が考えることができる唯一のプログラムはprocmailです。ユーザーがメールサーバーでシェル/ bin/falseを設定している場合は本当におもしろいですが、通常、rootとしてprocmailを実行しません。別の候補は、rootのcrontabの行です。 crondのポリシーがどのシェルを使用するのかわかりません。