如果您想将刚执行的命令行输出到日志文件中,可以使用 trap
命令来实现。
下面是一个示例脚本:
#!/bin/bash source /etc/profile day=`date '+%F %X'` log_file="/tmp/rsync.kinggoo.log" # 日志文件路径 log_file="/path/to/log.txt" # 设置 DEBUG 选项以显示命令 set -o functrace # 定义一个函数来处理 DEBUG 选项 function log_command() { local current_command="$BASH_COMMAND" # 排除自身和空命令 if [[ "$current_command" != "log_command" && -n "$current_command" ]]; then echo "$day - Command: $current_command" >> "$log_file" fi } # 在每个命令执行之前调用 log_command 函数 trap 'log_command' DEBUG # 以下是测试内容 echo "Hello, world!" echo "I'm kinggoo.com!" ls -l
运行以上脚本后既可以看到效果
- THE END -
感谢分享