在C Shell脚本中键入root密码,直到密码正确为止
我正在为我的公司编写一个小工具,帮助用户在Centos机器上安装给定软件的特定版本。为此,我创建了一个csh脚本。最后,要安装上述软件,用户必须是root用户,因此在我的脚本中,我要求用户输入他/她的root密码 我的问题是,如果由于某种原因,用户在键入其根密码时出错,我的脚本将退出 因此,我正在寻找一种方法,允许用户多次尝试,比如说,3次 到目前为止,在我的脚本中,我只做了一个:在C Shell脚本中键入root密码,直到密码正确为止,shell,while-loop,csh,su,Shell,While Loop,Csh,Su,我正在为我的公司编写一个小工具,帮助用户在Centos机器上安装给定软件的特定版本。为此,我创建了一个csh脚本。最后,要安装上述软件,用户必须是root用户,因此在我的脚本中,我要求用户输入他/她的root密码 我的问题是,如果由于某种原因,用户在键入其根密码时出错,我的脚本将退出 因此,我正在寻找一种方法,允许用户多次尝试,比如说,3次 到目前为止,在我的脚本中,我只做了一个: su -c "chmod +x '${installPackageName}${dir}/installerAsR
su -c "chmod +x '${installPackageName}${dir}/installerAsRoot.sh'; cd ${installPackageName}${dir}; ./installerAsRoot.sh"
我尝试了一些,而/做了循环,但我对su
的了解非常不明确。我还想到了一种在密码错误(125或-3)时捕获su
返回值的方法,但我不确定如何在脚本中组合eval
或test
命令
非常感谢您的帮助
问候,
Hubertsudo
会一直提示,直到正确为止。$?
保存您上次执行的命令的退出代码。@MartijnCourteaux感谢您的快速回答。在我的例子中,sudo
技巧似乎不起作用,因为有多个命令要运行,还有一些变量要解释。我将编辑我的原始帖子。请不要使用CSH编写新代码!帮自己一个忙,在Linux上改用Bash。阅读Read
语句的一半manbash
。然后执行sudo csh-c“这里的一切”
。