小規模な前提条件:私はOS X上にあり、古いバージョン3.xと一緒に出荷されるbashバージョンです。私はいくつかの現代的な機能を必要としていたので、しばらく前に4.xにアップデートしました。OS X:rootユーザー用のbashバージョンを更新してください
私は、現在のユーザーとして実行するとうまく動作するスクリプトを作成しましたが、plistファイル/ launchdを通じてrootとして実行すると失敗します。
これは私が明らかにrootユーザーではなく自分のユーザーのbashバージョンのみを更新したためです。
rootユーザのためにbashを更新するにはどうしたらいいですか?
もう一つのオプションは、私の更新されたbashバージョンを指し示す "カスタム"シバンを使用することです。しかし、これは他のシステムでは失敗することがあるので少しハッキリです。
plistファイルのキーについては、UserName
も知っていますが、残念ながら私のユーザーとして実行すると、スクリプトはイベントが呼び出されません。 bashの更新がより洗練されたソリューションになることを期待していました。
'#!/ bin/bash'でどのバージョンの' bash'を取得するかは保証できません。シバンは便宜のためであり、厳密な移植性ではありません。移植性を望むなら、 '#!/ bin/sh'でPOSIXシェルをターゲットにします。それ以外の場合は、必要に応じてマシン単位でシバンを調整します。 – chepner