[英]bash force double quotes in command
我的bash腳本:
set -x
classpath=a:b
java -cp \"$classpath\" className
基本上,我想在外殼上執行命令java -cp "a:b" className
。
輸出為:
"a.sh" 3L, 55C written
rajatk@localhost:~$ bash a.sh
+ classpath=a:b
+ java -cp '"a:b"' className
Error: Could not find or load main class className
rajatk@localhost:~$
為什么在"
'
之前和之后添加"
。如何強制刪除它?
您無需在原始命令中轉義引號。
set -x
classpath=a:b
java -cp "$classpath" className
引號僅作為bash
語法的一部分(將$classpath
的值視為一個單詞),而不是作為-cp
選項的參數傳遞的實際字符串的一部分。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.