2017-04-09 63 views
1

我正在嘗試在引號內將hostname寫入文件。我正在用Groovy腳本來做這件事。這是我的sh Groovy腳本。Groovy sh命令不包括我的回顯命令中的引號

sh "echo Add \"my-hostname\" \"$HOSTNAME\" >> /etc/test.conf" 

/etc/test.conf我預期的結果應該是:

Add "my-hostname" "linux-base" 

但是,當我執行我的Groovy腳本的結果是:

Add my-hostname linux-base 

有人請幫我在sh命令腳本。

+0

試試這種[添加雙引號](http://glu.977617.n3.nabble.com/Add-double-quotes-in-a-string-in-groovy-script-td4026207.html)。 –

回答

0

兩種解決方法:

  1. 使用單引號:

    sh 'echo Add \"my-hostname\" \"'"$HOSTNAME"'\" >> aa' 
    
  2. 使用雙重轉義:

    sh "echo Add \\\"my-hostname\\\" \\\"$HOSTNAME\\\" >> aa" 
    

我不熟悉的常規,你確定您的命令不需要sh -c