2016-02-12 108 views
0

我是Unix shell腳本的新手,很難理解下面這段代碼。在Shell中結合history,tail和sed命令

TASK_DETAIL=$(echo `history |tail -n1 |head -n1` | sed 's/[0-9]* //') 

我在任何文檔中都沒有遇到過-n1。所以我很困惑。

如果有人對此有所瞭解,我將非常感激。

+2

好,'... | tail -n1 | head -n1'與'... |相同尾巴-n1',因爲你正在打印最後的'1'行。沒有必要'頭''1'行 - 作爲'1 = 1'。您可能意指歷史文件中最後一個「X」行的$(history | tail -nX),或者第一個「X」行的$(history | head -nX)或$(history | tail -nX | head -nY)',查看歷史文件(其中'X> Y')中最後一個'X'的第一個「Y」行。 (**注意:**你不'回聲歷史',只是'歷史'來調用'歷史'命令。) –

+1

使用你的「本地」文檔'man head;人尾巴「來查看您的版本的具體信息,而不是依靠谷歌搜索。發佈代碼時,提及操作系統版本(以及發佈名稱,如果有的話)也很有用。最後,通過執行整個部分來學習調試這些結構,並在每個管道後面添加一個命令段,以瞭解早期代碼中發生的情況。祝你好運。 – shellter

回答

0

tail -n1相同tail -1 :)