Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将超级用户密码硬编码到bash脚本中_Bash - Fatal编程技术网

将超级用户密码硬编码到bash脚本中

将超级用户密码硬编码到bash脚本中,bash,Bash,我编写这个小脚本是为了帮助我减少在本地机器上启动和停止LAMP服务器的麻烦: #!/bin/sh #script to make lampp start/stop easier if [ $1 == "start" ] ; then sudo /opt/lampp/lampp start & elif [ $1 == "stop" ] ; then sudo /opt/lampp/lampp stop else echo 'Wrong parameter.' f

我编写这个小脚本是为了帮助我减少在本地机器上启动和停止LAMP服务器的麻烦:

#!/bin/sh
#script to make lampp start/stop easier

if [ $1 == "start" ] ; then
    sudo /opt/lampp/lampp start &
elif [ $1 == "stop" ] ; then
    sudo /opt/lampp/lampp stop
else
    echo 'Wrong parameter.'
fi
我现在想向前迈进一步,将超级用户密码硬编码到其中,这样我就不必每次都键入密码。我尝试了类似于
echo'XXXX'| sudo/opt/lampp/lampp start&
的方法,但三次尝试都失败了

如何做到这一点?

假设您的用户名为“dotslash”:

那你可以

alias lampp='sudo /opt/lampp/lampp'
lampp start

使用nopasswd选项将此脚本添加到sudoers可能会更容易,因此您可以将该脚本称为
sudo myscript.sh
。我需要了解更多信息,但这是否意味着所有创建的脚本都必须添加到sudoers?天哪,我真懒德拉兹尼斯是好的。您将有效地编写(干)脚本。。。无论如何,请阅读本手册……这里还有另一种选择-SetUI位:将
/opt/lampp/lampp
添加到
/etc/sudoers
,而不是
myscript.sh
alias lampp='sudo /opt/lampp/lampp'
lampp start