Bash

如何在只有 root 寫入權限的文件中添加一行並繼續執行腳本

  • November 29, 2018

我正在嘗試學習 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特權。使用shshell 是因為重定向到根擁有的文件。我還必須轉義用於echo命令的引號。

su在大多數 Unix 系統上都可用,並且應該可以工作:

su root -c 'echo "add this line to the code" >> fileName'

引用自:https://unix.stackexchange.com/questions/37875