如何将shell脚本的所有输出写入单个新文件



而不是将>>放在每个命令的末尾,例如:

date >> newfile
ls >> newfile
# etc.

如何将脚本的整个输出放在一个文件中,而不需要多个追加,例如下面的代码?

date
ls
echo $USER
# ">> new file"

您可以使用exec来重定向脚本的输出(以及脚本中执行的任何命令):

#!/bin/sh
exec >> newfile  # Direct all output to newfile
date
ls
echo "$USER"

或者你可以重定向命令块:

#!/bin/sh
{
date
ls
echo "$USER"
} >> newfile

对于某些命令,您也可以重定向到一个文件,而对于其他命令,您可以恢复到一个文件:

#!/bin/sh
exec 3>&1
exec > newfile
echo this output is written to newfile
exec >&3
echo this outupt goes to the original stdout

我找到了一个解决办法。

我能够执行script.sh文件,并简单地将输出重定向到一个新文件。

的例子:

。/Script.sh比;newfile.txt

相关内容

  • 没有找到相关文章

最新更新