重定向 bash 脚本的所有输出,包括命令

问题描述 投票:0回答:1

我正在学习编写 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
)? 非常感谢您的帮助。

编辑:@KamilCuk 建议正确答案:在脚本开头使用 set -x

bash io-redirection
1个回答
0
投票

@KamilCuk 建议正确答案:在脚本开头使用 set -x

© www.soinside.com 2019 - 2024. All rights reserved.