为什么当我尝试使用 echo 和“|”将我的密码传递给 sudo 时会看到“SIGHUP 或 SIGTERMa:”错误?

为什么当我尝试使用 echo 和“|”将我的密码传递给 sudo 时会看到“SIGHUP 或 SIGTERMa:”错误?

编辑:echosudo如下图所示一起使用可能会产生意想不到的后果。请尽可能避免此类用法。

我正在进行 Lubuntu 12.10 完全更新。

我知道我所问的问题可能存在安全风险,但我仍然想了解发生了什么。

我可以使以下别名发挥作用:

fast='echo "mypassword" | sudo -S apt-fast update && sudo apt-fast upgrade'
nm='echo "mypassword" | sudo -S service network-manager restart'
aalog='echo "mypassword" | sudo -S aa-logprof'
reloadsm='echo "mypassword" | sudo -S apparmor_parser -r /etc/apparmor.d/usr.local.seamonkey.seamonkey'
reloadgc='echo "mypassword" | sudo -S apparmor_parser -r /etc/apparmor.d/opt.google.chrome.google-chrome'

但是当我尝试这个别名时

pua='echo "mypassword" | sudo -S nano /etc/privoxy/user.action'

我看到的是:

[12:32 PM] ~ $ pua
Received SIGHUP or SIGTERMa: 
[12:32 PM] ~ $ 

有人可以解释为什么会发生这种情况以及是否有办法修复导致错误的别名?

(我不想做任何涉及 sudoers 的事情。)

答案1

这是 nano 的问题,而不是别名的问题。尝试使用 vim。

相关内容