如何将 $Log_general 写入 Log1 和 Log2,而不在屏幕上打印任何内容?
备注:Log1 和 Log2 文件需要与 $Log_general 分开更新,我不想将 Log1 复制到 Log2!!
我尝试了以下方法,但只Log2
更新了
echo $Log_general 1>Log1 1>Log2
或者
./my_script.sh 1>Log1 1>Log2
并且存在以下问题,即$Log_general
输出出现在屏幕上,而我的目的仅是写入文件Log1
和Log2
:
echo $Log_general | tee -a Log1 Log2
答案1
您应该能够使用该tee
命令首先将输出传送到一个文件和标准输出,然后将标准输出传送到第二个文件。例如:
echo $Log_general | tee Log1 > Log2
编辑:
在我发布之前我没有看到你的编辑 Jennifer,但是上面的用法没有输出到我的屏幕上(我正在运行 cygwin,而不是 Linux 终端 - 希望输出是相同的)
答案2
./bash.sh | tee -a /path/to/firstfile
如果您尝试将 bash 脚本文件的输出附加到单个文件,那么上述代码将会起作用。
./bash.sh | tee -a /path/to/firstfile |tee -a /path/to/secondfile
第二段代码应该可以将相同的输出写入两个不同的文件。我正在使用 Xubuntu,它对我来说很有效。