web-dev-qa-db-ja.com

su-execへの呼び出しをsuなどで書き直しますか?

この bashスクリプト Linux Alpineでは(8行目):

exec su-exec "$Zoo_USER" "$0" "$@"

私の知る限りでは、 su-execApache httpddependecy -Ubuntuにインストールするのを避けて、もっとわかりやすい代替手段を使用できますか?

私はこれまでにテストしました:

 su -c "$0 $@" $Zoo_USER

しかし、このDockerコマンドは、ある種のエスケープ/引用符エラーが発生する可能性があることを示しています。

CMD ["zkServer.sh", "start-foreground"]

結果は次のようになります。正常に動作するオリジナルとの違いは何ですか?

No passwd entry for user 'start-foreground'
2
J. Doe

DevOps SEの同僚が指摘しているように、「su」の適切な使用法は次のとおりです。

su -c "$0" "$Zoo_USER" "$@"
2
J. Doe