2012-04-08 111 views
1

一旦我有一個文件,看到我使用cat命令的內容,比如cat文件名,它的內容顯示在終端上,也自動在我的終端上鍵入一些隨機字符和enter鍵也得到鍵入,然後終端提示command not found。 我想知道是否可以在文件中編寫命令並使用cat命令執行這些命令。 我無法再次獲取該文件,而且搜索也沒有幫助。但我肯定有人在這裏必須知道這一點。unix - 使用「cat foo」命令執行輸出

回答

3

這聽起來像一個文件,它具有轉義序列,導致終端讀取下面的字符串作爲輸入。現在這些功能往往不被終端程序支持,因爲這是一個相當明顯的安全問題。

這曾經是可行

一個辦法是通過編程DEC「應答」序列,其終端將響應於嵌入在文件中一個Ctrl鍵 + ë發送。

+0

xterm,gnome-terminal和linux控制檯有這個「功能」到現在爲止。我通過捕獲一些大的二進制文件來測試它。所以我認爲這個「特性」嵌入在內核中。但是什麼序列_exactly_觸發這個......我不知道。 – 2012-04-08 10:03:00

+0

還是?那很不好。 (但只有一個Linux控制檯在內核中;其他的,它們是這些程序的一部分。)我無法及時告訴你觸發它的順序是什麼;歷史上對於不同的終端有許多可能性。 – geekosaur 2012-04-08 10:04:47

+0

*所有*終端(甚至是xterm&co)都使用內核進行TTY處理 - 無論是以「僞終端」(xterm&co)還是「虛擬控制檯」的形式。我猜這是這裏的罪魁禍首。 – 2012-04-08 10:17:47