我試圖將許多jvm參數傳遞給一個變量並將其導出並在其他腳本中調用,但參數中的空格和雙引號打敗了我。 ( 「/ 05 ABCDEF」)Bash導出並在腳本中使用引號和空格變量
我的代碼:
#!/bin/bash
NORMAL_VARIABLE=-DNORMAL.NormalText=normal124
PROBLEMATIC_VARIABLE='-DPROBLEM.ProblematicText="/05 abcdef"'
SUM="$NORMAL_VARIABLE $PROBLEMATIC_VARIABLE"
export SUM
目標腳本:
java $SUM -jar "ApacheJMeter.jar" "[email protected]"
在調試模式
實際輸出:
+ NORMAL_VARIABLE=-DNORMAL.NormalText=normal124
+ PROBLEMATIC_VARIABLE='-DPROBLEM.ProblematicText="/05 abcdef"'
+ SUM='-DNORMAL.NormalText=normal124 -DPROBLEM.ProblematicText="/05 abcdef"'
+ export SUM
+ java -DNORMAL.NormalText=normal124 '-DPROBLEM.ProblematicText="/05' 'abcdef"' -jar ApacheJMeter.jar
Error: Could not find or load main class abcdef"
人有一個想法如何解決這個問題?
我想:
java -DNORMAL.NormalText=normal124 -DPROBLEM.ProblematicText="/05 abcdef" -jar ApacheJMeter.jar
歡迎堆棧溢出。它是一個路徑/ 05 abcdef?或者在05目錄中名爲abcdef的文件等。因爲我可以看到錯誤消息,它告訴找不到類abcdef,讓我知道在同一 – RavinderSingh13
嗨! 「/ 05 abcdef」是參數的值。 問題是巫調用Java: '的java -DNORMAL.NormalText = normal124 '-DPROBLEM.ProblematicText = 「/ 05' ' ABCDEF」'-jar ApacheJMeter.jar' 代替: '的java -DNORMAL.NormalText = normal124 -DPROBLEM.ProblematicText =「/ 05 abcdef」-jar ApacheJMeter.jar「 –