Debian
用於安裝軟體包並報告到日誌文件的 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
提前致謝!
首先,您不能在 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 的錯誤。