簡體   English   中英

bash在命令中使用雙引號

[英]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.

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