Debian

用於安裝軟體包並報告到日誌文件的 Bash 腳本

  • July 11, 2014

我希望能夠將執行 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

提前致謝!

首先,您不能在 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 的錯誤。

引用自:https://serverfault.com/questions/611589