提问人:Alexey Kiyashkin 提问时间:11/13/2023 最后编辑:Charles DuffyAlexey Kiyashkin 更新时间:11/14/2023 访问量:50
重定向 bash 脚本的所有输出,包括命令 [duplicate]
Redirect all output of a bash script, including commands [duplicate]
问:
我正在学习编写bash脚本,我有一个脚本是这样的:
#!/bin/bash
log_file="user_data.log"
exec > $log_file 2>&1
# Update list of available packages
sudo apt update
# Install required packages
sudo apt install docker.io docker-compose git nginx certbot python3-certbot-nginx -y
我将 stdin 和 stderr 重定向到 user_data.log,但是我希望在同一日志文件中看到命令(例如 sudo apt update)。我该怎么做?
有没有更好的方法来实现这一目标(没有)?
非常感谢您的帮助。sh script.sh > somewhere
答:
1赞
Alexey Kiyashkin
11/13/2023
#1
正如 @KamilCuk 所评论的那样,我需要在脚本的开头添加以下内容:
set -x
评论
set -x