gpt4 book ai didi

linux - 在 sudo 下自动执行 bash 命令不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 04:11:00 24 4
gpt4 key购买 nike

我需要一个脚本来执行 sudo 命令而不需要密码。在以下脚本中,我有一个奇怪的 bash stdin 行为:

username@username-laptop:~$ sudo -Si | echo "password" 
password
root@username-laptop:~# exit
username@username-laptop:~$ sudo -Si | echo "password"
password
[sudo] password for rootname:

(密码是我机器上的root密码)

为什么第一次没有要求输入密码,而第二次却要求输入密码(并且之后总是如此)?另外我不明白 stdin 在 bash 中如何工作,我的代码中的错误在哪里?

我知道直接在命令中输入 root 密码是一个非常糟糕的主意,但我需要它才能正确执行。

最佳答案

也许你应该尝试:

echo "Password" | sudo -Si

而不是:

sudo -Si | echo "Password"

第一个命令的输出(“|”之前)用作第二个命令的输入。

您应该知道,第一个命令无法执行任何屏幕输出,而第二个命令无法接收任何键盘输入,除非您执行一些编程技巧...

关于linux - 在 sudo 下自动执行 bash 命令不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19057232/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com