1

我正在尝试制作一个 shell 脚本,它在开始时向用户询问密码,然后将其存储在一个变量中,以便每次脚本需要 root 访问权限时都可以使用它。

我的想法是做这样的事情:

read -s "Please enter your password: " PASSWORD

echo -e $PASSWORD | su -c 'do some root action here'

但这行不通。这怎么可能实现?

编辑 好的,所以我已经开始调查期望,这就是我到目前为止所得到的:

#!/usr/bin/env bash

user=$(whoami)

echo "Pleas enter your root password. [Followed by Enter]"
read -s "Password:" PASSWORD

/usr/bin/expect <<EOD
spawn su -c 'echo \"$user ALL=(ALL) ALL\" >> /etc/sudoers'
expect "Password:"
send $PASSWORD
interact
EOD

所以这不起作用,但我从终端得到的输出看起来离我的目标越来越近了。

有人能帮我解决这个问题吗?

谢谢你。

4

0 回答 0