Bash unix中的日志文件被重写

Bash unix中的日志文件被重写,bash,shell,unix,Bash,Shell,Unix,我使用下面的代码运行一些命令,并记录脚本的输出 #!/bin/bash exec 3>&1 4>&2 trap 'exec 2>&4 1>&3' 0 1 2 3 exec 1>/home/log/log.out 2>&1 echo "Before Execution: $(date)" Some commands echo "After Execution:$(date)"

我使用下面的代码运行一些命令,并记录脚本的输出

#!/bin/bash
exec 3>&1 4>&2
trap 'exec 2>&4 1>&3' 0 1 2 3
exec 1>/home/log/log.out 2>&1

echo "Before Execution: $(date)"

Some commands 

echo "After Execution:$(date)"
代码工作正常,并为运行生成日志。但是,它在覆盖模式下执行此操作。每次日志文件被当前执行的日志覆盖时。我希望所有执行日志都以追加模式存储在log.out文件中

有什么想法吗


谢谢。

打开(替换)文件描述符
1
进行追加:
exec 1>/home/log/log.out
覆盖,
追加。