将命令回显到包含换行符的文件

时间:2013-04-19 19:18:41

标签: bash file shell echo

我想像这样回复ettercap:

sudo echo $(ettercap -i eth0 -Tq) > /file

当我“捕捉”文件时,它应该给我这样的东西:

ettercap NG-0.7.4.2 copyright 2001-2005 ALoR & NaGA

Listening on eth0... (Ethernet)

...

但相反它给了我这个:

ettercap NG-0.7.4.2 copyright 2001-2005 ALoR & NaGA Listening on eth0... (Ethernet) ...

我该如何解决这个问题?提前谢谢。

1 个答案:

答案 0 :(得分:0)

你应该这样做:

sudo ettercap -i eth0 -Tq > /file

就是这样!


如果在将变量保存到文件之前需要变量,请使用$()运算符:

output=$(ettercap -i eth0 -Tq)
echo "$output" > /file

请注意,它是围绕“$ output”的双引号,对于维护空白至关重要