而不是将>>
放在每个命令的末尾,例如:
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