0

スクリプトの特定のユーザーとして、一番下のコマンドを開始する必要があります。パラメータ $vmargs は一重引用符 ('$vmargs') で囲む必要があります。常に解析されるため、ここで立ち往生しています。vmargs パラメータには、いくつかの Java オプションが含まれています。

 su synesty -c "screen -dmS appscreen ./eclipse -vmargs 
                -DAPP_ENV=$automatey_note  $vmargs"

誰でも助けてくれることを願っています。

更新: 申し訳ありませんが、私の質問が明確ではありませんでした。パラメータを解決する必要があります。

 '-DencryptorCredentials=currentPass|oldPass|1 -Xms512m -Xmx2048m 
 -DLOGGING_HOME=configuration/ -Djava.io.tmpdir=/tmp -Dorg.osgi.service.http.port=8081
 -Declipse.ignoreApp=true -Dosgi.noShutdown=true -Xdebug         
 -Xnoagent
 -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=n 
 -Djava.net.preferIPv4Stack=true -DapplyDbMigrations=true -XX:MaxPermSize=128m     
 -XX:-HeapDumpOnOutOfMemoryError '

それはそれで、一重引用符が必要です。そうしないと、シェルはそれをパラメーターとして認識しません

4

2 に答える 2

1

を一重引用符で囲みます$vmargs。全体が二重引用符で囲まれているため、引き続き拡張されます。

su synesty -c "screen -dmS appscreen ./eclipse -vmargs -DAPP_ENV=$automatey_note '$vmargs'"
于 2012-10-30T12:54:01.530 に答える
1

変更せずに渡す場合は、文字列$vmargssu synestyそのまま保持するドルを「エスケープ」します。-

su synesty -c "screen -dmS appscreen ./eclipse -vmargs -DAPP_ENV=$automatey_note \$vmargs"

于 2012-10-30T12:54:18.513 に答える