反击的论点似乎解释了两次?

Kur*_*ler 2 bash shell

我不完全确定如何对这个问题进行分类.感觉就像我发现了一个错误tail和/或bash,但很明显,这更像是我理解中的错误!

我运行了以下命令:

tail -f -n`wc -l scrape.log` scrape.log
Run Code Online (Sandbox Code Playgroud)

为了cat整个文件和添加的任何新材料.但是,这个tail文件编辑了两次.运行此命令:

tail -f -n`wc -l scrape.log`
Run Code Online (Sandbox Code Playgroud)

给了我想要的结果,tail文件一次.我认为反引号是一个Bash转义工具,在运行下一个命令之前"预处理"一个命令.这里发生了什么?

cni*_*tar 9

当你使用反引号时,你实际上是将一个命令的输出传递给另一个命令.现在让我们看看它做了什么wc -l:

[cnicutar@fresh ~]$ wc -l /etc/passwd
11 /etc/passwd
Run Code Online (Sandbox Code Playgroud)

它输出行数和文件名.所以你的命令变成:

tail -f -n 11 scrape.log scrape.log
Run Code Online (Sandbox Code Playgroud)