4

起動スクリプト (rc.local) で root 以外のユーザーとしてコマンドを実行したい。実行したいコマンドは、実際には非 root ユーザーの .bash_profile のエイリアスです。私は使用しようとしました

su - myuser -c aliased_cmd

しかし、これは機能しません。単純に入力すると

su - myuser
# wait for login...
aliased_cmd

正常に動作しますが、明らかにこれは実際のスクリプトでは適切ではありません。もちろん、使用したいエイリアスと関数を実際の rc.local ファイルにコピーすることもできますが、これは少しばかげているように思えます...おそらく、私が知らないオプションまたは sudo を使用する方法がありますこれ?

4

2 に答える 2

2

プロファイルを入手した後、以下を含めます

shopt -s expand_aliases
于 2012-02-22T22:01:18.957 に答える
0

引用man su

- を使用する場合は、最後の su オプションとして指定する必要があります。

それが最後のオプションでない場合に何が起こるかは指定されていません。また、概要では、ユーザー名はすべてのオプションの後にあります。

または試しましたsu -c aliased_cmd - myusersu -l -c aliased_cmd myuser

于 2012-02-22T12:26:47.260 に答える