如何从stdin读入密码进行sudo

有一个直观感觉非常扯淡的话题,都命令行了,还有啥可说的,问题是,sudo默认并不使用stdin来读取密码,而在有些场合,我们确实需要sudo从stdin读取密码。网上有很多解决办法,其实只要看看sudo的manpage,就可以知道这个问题的解决方法如下:

echo "YOUR_SUDO_PASSWORD" | sudo -kS COMMAND

其中 -k 参数是要求sudo每次执行都输入密码。-S参数是要求sudo从stdin读入密码。至于什么地方会用到这个技巧,其实明白的人早就想到了,也就不再多说了。

此条目发表在软件使用与程序设计分类目录。将固定链接加入收藏夹。