2013-03-06 20 views
0

我用casperjs在Ubuntu這樣,test.js內容是這樣的:

var casper = require('casper').create(); 
casper.echo("Casper CLI passed options:"); 
require("utils").dump(casper.cli.options); 

然後我運行:casperjs test.js --p1=aaaa --p2=bb$bb --p3=123$456

祝得到:

Casper CLI passed options: 
{ 
    "casper-path": "/usr/casperjs", 
    "cli": true, 
    "p1": "aaaa", 
    "p2": "bb$bb", 
    "p3": "123$456" 
} 

但實際上:

Casper CLI passed options: 
{ 
    "casper-path": "/usr/casperjs", 
    "cli": true, 
    "p1": "aaaa", 
    "p2": "bb", 
    "p3": 12356 
} 

我不知道爲什麼'$'消失了,我需要你的幫助〜 謝謝。

回答

0

引用和轉義非常重要,因爲它們會影響Bash對輸入的行爲方式。有三種識別的類型:

  • 每個字符使用反斜槓:\ $東西
  • 弱用雙引號引用:「東西」
  • 強勁,單引號引用:'東西'

所有三種形式都有非常相同的目的:它們給你的解析的一般控制,前擴張和擴張結果。

更多信息:Quotes and escaping

+0

明白了,謝謝你。 – user2138222 2013-03-06 08:10:20

+0

不客氣。 – 2013-03-06 17:30:44