Bash 脚本用于安装软件包并报告到日志文件

Bash 脚本用于安装软件包并报告到日志文件

我希望能够将运行 bash 脚本的结果记录到文件中。脚本本身非常简单,用于在全新安装的机器上安装基本软件包,其方案如下

sudo apt-get install -y nano

我试图实现的是让 bash 脚本报告安装是否顺利,或者在安装失败的情况下指出哪里出了问题。所以我希望它创建类似“log”的文件,该文件会非常简要地报告状态,例如

Package "nano" successfully installed!

或者

Package "nano" failed to install. // Here comes the line of apt-get install that caused fail

提前致谢!

答案1

首先,您不能在 bash 脚本中使用 sudo,它是非交互式的,因此如果您需要使用密码,您将无法提升权限。

下面是安装多个包的基本示例,要安装更多包,您需要将包添加到“for package in”行。输出设置为附加到现有文件。

#!/bin/bash

apt-get update

for package in nano httpd vim mysql-server
do

apt-get install -qq --print-uris $package >> script.log 2>>script_error.log

done

您应该以自己喜欢的方式保存此文件,然后需要设置权限以允许执行脚本。如果您将文件命名为 script.sh,则需要运行:

chmod +x script.sh

然后运行脚本,您需要执行以下操作:

sudo ./script.sh

这是一个非常基本的示例,它没有尽可能好地记录日志,并且有许多更复杂和更好的方法可以实现它,但是如果您愿意在安装后查看日志,它就可以完成工作。第一个日志包含正常安装的最低限度的日志记录(即使您不看它,也可以保留它以备检查),第二个日志文件仅包含来自 apt-get 的错误。

相关内容