0

我需要一种简单的方法来捕获发出的命令(从脚本)和生成的输出到日志文件。

这是一个简单的例子: 命令:

grep '^#PermitRootLogin' /etc/ssh/sshd_config

输出:

#PermitRootLogin no

要求的结果:

grep '^#PermitRootLogin' /etc/ssh/sshd_config
  PermitRootLogin no

通过重定向标准输入,我似乎踩到了标准输出;它不应该那么困难,但由于某种原因它躲避了我。

使用 tee 只会创建一个带有外来噪音的日志文件;我想在最后使用该文件进行报告(无噪音)。

提前致谢,

TT

4

2 回答 2

1

将您想要的行为包装在一个函数中,即

function stomp {
    echo $@
    eval $@
}

然后这样称呼它

stomp grep '^#PermitRootLogin' /etc/ssh/sshd_config
于 2013-04-21T20:32:10.537 回答
0

有一个script实用程序,它将记录您键入的所有内容以及任何程序输出到 stdout 的文件中名为typescript. 但是,它非常彻底,并且还记录了所有换行符和换行符以及 shell 的所有提示,因此您很可能希望将typescript.

也许更容易

echo "grep '^#PermitRootLogin' /etc/ssh/sshd_config" > file
grep '^#PermitRootLogin' /etc/ssh/sshd_config >> file

然后你有命令和它的输出file

于 2013-04-21T15:48:27.977 回答