2016-03-18 63 views
0

當我寫下「誰是你的爸爸?」時,我驚訝地發現,終端上隨意地輸入了粗俗的句子。它實際上開了某種口譯員。爲什麼發生這種情況?當我試圖用這個人作爲:是「誰是你的爸爸?」在Linux中的命令?

man who's your daddy 

我被髮送到同一個解釋器類的東西。任何人都知道發生了什麼事?

+4

當你說「*某種解釋器*」,你的意思是次要的提示,或許還有一個'>'向左?這是因爲在那裏沒有結尾引用('''),所以你的shell期望你輸入字符串的其餘部分。至於它是否是命令:不,因爲它在語法上不完整。如果你添加一個報價,它*將*成爲打開某個手冊頁的命令(可能不存在)。 – Biffen

回答

0

通過在命令行界面上鍵入',您打開了一個您未關閉的字符串。對於解釋器(也許是bash或其他shell),你仍然在輸入字符串,直到下一個'。在一些外殼中,這由左邊的>開始的行表示。

$ echo this 'is 
> a 
> test' 

它產生輸出:

this is 
a 
test 

鑑於this是第一參數來echo,其餘(包括換行)是第二個參數。

0

當您鍵入return時,您並未輸入某種解釋器,但命令行通過鍵入結尾單引號'來等待您完成命令。

嘗試看看,當你鍵入會發生什麼:

man who's your daddy' 
相關問題