Bash
如何在只有 root 寫入權限的文件中添加一行並繼續執行腳本
我正在嘗試學習 bash 腳本。我正在解決一個實際問題,有一次我需要在需要
root
寫入權限的文件中添加一行。程式碼如下所示:
# some code echo "add this line to the code" >> fileName # some code
是否有可能以某種方式讓腳本詢問 root 密碼、驗證密碼並在成功驗證後修改文件?然後腳本應返回到使用者模式並繼續執行命令。
手冊頁中有一個提示,
sudo
它解釋瞭如何做這樣的事情。這是我的單線:#!/usr/bin/bash sudo sh -c "echo \"add this line to the code\" >> fileName"
顯然,您首先必須設置您的使用者以獲得
sudo
特權。使用sh
shell 是因為重定向到根擁有的文件。我還必須轉義用於echo
命令的引號。
su
在大多數 Unix 系統上都可用,並且應該可以工作:su root -c 'echo "add this line to the code" >> fileName'