aa.sh
当我运行bash 文件中编写的某个命令时aa.sh
,命令终端会要求输入密码才能继续执行,例如 sudo 密码或 git 远程密码来进行身份验证。
我的问题是“如何在 .sh 文件中自动给出密码,当它要求输入时,我将其存储在变量中,然后我分配该变量以继续执行”。
答案1
对于 sudo 密码,您可以简单地执行带有 sudo 前缀的脚本,它会要求输入密码,并且不会要求文件中任何 sudo 命令的密码。
更新
如果您想指定密码以对某些应用程序(如 mysql、git 等)进行身份验证,那么您必须遵循该特定应用程序的正确语法。例如:通过bash文件备份mysql数据库。你可以使用以下命令
mysqldump -u root -p "YOUR_SECRET_PASS" "DB_NAME"
同样,对于 git,您需要了解它如何以非交互方式获取密码。因此,指定密码的语法将因应用程序而异。如果是 git,请考虑以下解决方案。这将一次性保存凭据。
git config remote.origin.url https://{USERNAME}:{PASSWORD}@github.com/{USERNAME}/{REPONAME}.git