xinetd.confのserver_args内のエスケープスペース


0

デモ用に小さなJavaプログラムをネットワークに公開しようとしています。私は使う xinetd 設定してサービスを作成し、すべてを動かすことができます。私がjavaに渡すパス名にスペースがあるときを除いて:

service demo
{
    disable     = no
    log_type    = FILE /var/log/xinetd.log
    type        = UNLISTED
    port        = 8080
    socket_type = stream
    protocol    = tcp
    wait        = no
    server      = usr/bin/java
    server_args = -cp /home/demo/example name/bin DemoMain /home/demo/example name/log.txt
#                                       ^                                    ^
}

ターミナルで実行すると、期待通りに動作します。

me@host:~/$ java -cp /home/demo/example\ name/bin DemoMain /home/demo/example\ name/log.txt

(バックスラッシュでエスケープされたスペースに注意してください)。しかし、私はそれをうまく動かすことができません xinetd (フォルダの名前をスペースのないものに変更せずに)パスを引用符で囲んで、バックスラッシュエスケープ、ダブルバックスラッシュエスケープを試してみました - 何もしません。

のmanページ xinetd.conf バグセクションで、環境変数にスペースを入れることはできないと述べています。同様の制限がありますか server_args

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.