2016-02-12 37 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 :)