簡體   English   中英

重擊去除報價-如何保留報價

[英]Bash stripping quotes - how to preserve quotes

我需要將cmd參數傳遞給我的bash腳本,但是它會繼續去除引號。

下面是一個例子。 在我的腳本中,我添加了一些額外的處理,在處理命令之前,我向第一個變量添加了數據

$> ./test.sh -t some.comman -extraswitch "some addtional info"

該腳本使用Java進行一些處理,但是“一些其他信息”缺少引號,因此無法執行此腳本的Java部分。 如何保留命令行中的引號,以便可以在腳本中執行Java命令?

腳本中的Java命令

java $JAVA_OPTS "$@"

產量

java lib -someoption -anotheroption -javalibswitch some additional info 

預期輸出

java lib -someoption -anotheroption -javalibswitch "some additional info"

我通常使用單引號來避免shell內插,當您想對其中帶有引號的字符串加引號時。

./test.sh -t some.comman -extraswitch '"some addtional info"'

您可以像這樣傳遞參數

./test.sh -t some.comman -extraswitch \"some addtional info\"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM