我有以下小脚本:
#!/bin/bash
cd ~
thunderbird &
firefox &
sudo apt-get update
sudo apt-get upgrade
在过去的两年里它一直有效,但有几天它跳过了密码提示。输出(除了启动脚本外,我没有采取任何行动):
me@UBUNTU:~$ sh goodmorningscript.sh
[sudo] password for me:
[sudo] password for me:
me@UBUNTU:~$
它只是运行,没有停下来等待密码提示。我不想要解决方案无需输入密码。
什么原因导致我的 Ubuntu 跳过提示?我该如何解决?
注意:如果我手动输入sudo
命令,提示将按预期工作。
GNU bash,版本 4.4.19(1)-发布(x86_64-pc-linux-gnu)
Ubuntu 18.04.1 LTS
我找到了一个可行的解决方案,对我而言很有效。如果该sudo
命令位于带有 的命令之前&
,则密码提示将按预期工作:
#!/bin/bash
cd ~
sudo apt-get update
sudo apt-get upgrade
thunderbird &
firefox &
我仍然不知道为什么,但也许这会有所帮助。
答案1
我在使用终端时遇到了同样的问题。只需重新启动终端即可解决问题。
答案2
您很可能sudo
在执行脚本之前使用了(与其他命令一起)。
sudo
效果会持续一段时间(默认 15 分钟)。请尝试等待几分钟。或者关闭并重新打开终端,然后重试。
如果同样的行为持续存在,则需要更多信息。运行sudo -l
并在此处粘贴输出