當我寫下「誰是你的爸爸?」時,我驚訝地發現,終端上隨意地輸入了粗俗的句子。它實際上開了某種口譯員。爲什麼發生這種情況?當我試圖用這個人作爲:是「誰是你的爸爸?」在Linux中的命令?
man who's your daddy
我被髮送到同一個解釋器類的東西。任何人都知道發生了什麼事?
當我寫下「誰是你的爸爸?」時,我驚訝地發現,終端上隨意地輸入了粗俗的句子。它實際上開了某種口譯員。爲什麼發生這種情況?當我試圖用這個人作爲:是「誰是你的爸爸?」在Linux中的命令?
man who's your daddy
我被髮送到同一個解釋器類的東西。任何人都知道發生了什麼事?
通過在命令行界面上鍵入'
,您打開了一個您未關閉的字符串。對於解釋器(也許是bash或其他shell),你仍然在輸入字符串,直到下一個'
。在一些外殼中,這由左邊的>
開始的行表示。
$ echo this 'is
> a
> test'
它產生輸出:
this is
a
test
鑑於this
是第一參數來echo
,其餘(包括換行)是第二個參數。
當您鍵入return時,您並未輸入某種解釋器,但命令行通過鍵入結尾單引號'
來等待您完成命令。
嘗試看看,當你鍵入會發生什麼:
man who's your daddy'
當你說「*某種解釋器*」,你的意思是次要的提示,或許還有一個'>'向左?這是因爲在那裏沒有結尾引用('''),所以你的shell期望你輸入字符串的其餘部分。至於它是否是命令:不,因爲它在語法上不完整。如果你添加一個報價,它*將*成爲打開某個手冊頁的命令(可能不存在)。 – Biffen