如何在只有 root 写入权限的文件中添加一行并继续执行脚本

Ale*_*lex 9 scripting bash root io-redirection

我正在尝试学习 bash 脚本。我正在解决一个实际问题,有一次我需要在需要root写入权限的文件中添加一行。

代码如下所示:

# some code
echo "add this line to the code" >> fileName
# some code
Run Code Online (Sandbox Code Playgroud)

是否有可能以某种方式让脚本要求输入 root 密码,验证密码,并在成功验证后修改文件?然后脚本应该返回到用户模式并继续执行命令。

Sig*_*Ben 13

sudo手册页中有一个提示,解释了如何做这样的事情。这是我的单线:

#!/usr/bin/bash
sudo sh -c "echo \"add this line to the code\" >> fileName"
Run Code Online (Sandbox Code Playgroud)

显然,您首先必须设置您的用户以获得sudo权限。在sh外壳的使用,因为重定向到超级用户拥有的文件。我还必须转义用于echo命令的引号。