我正在编写一个脚本来更新我的系统(并执行其他一些操作,但这并不重要)。我希望脚本能够自动运行sudo apt-get update
。sudo apt-get dist-upgrade --yes
我使用 --yes,因此运行时无需选择“是”;它会自动升级所有软件包,而无需我执行任何操作。也就是说,我想以某种方式将密码放入脚本中,这样运行时也不必输入密码,可能还需要使用参数或其他方法。您知道,我可以在脚本末尾放置一些参数,例如。sudo apt-get update --passwd MYPASSWORDHERE
我试过,但没有成功,但这就是我想要的一个例子。我应该在脚本末尾放置什么参数(--passwd 或 --password 或其他参数)来执行此操作?
答案1
如果您的脚本以“yourUser”身份运行,您可以创建一个简单的文件:
sudo visudo -f /etc/sudoers.d/myOverrides
使用这个指令:
yourUser ALL = NOPASSWD:/usr/bin/apt-get
你可以找到一个有用的解释这里。
答案2
出于安全原因,Sudo 不会这样做。您可以使用 -s 选项将密码回显给 sudo,但我不建议这样做。即使您保护脚本不让其他用户看到,他们仍然可以使用例如查看您的参数ps -ef
。
我认为通过安装无人值守升级包裹。