短时间内重复使用 sudo 本来就是不需要重复输入密码的
会不会是写反顺序了呢?
你看我的运行结果:
miix@miix-PC:~/Desktop$ sudo mkdir test
请输入密码:
验证成功
miix@miix-PC:~/Desktop$ echo "frwefbuurb534fej" | sudo -S su
bash:行1: frwefbuurb534fej:未找到命令
miix@miix-PC:~/Desktop$ echo "frwefbuurb534fej" | sudo -S su
bash:行1: frwefbuurb534fej:未找到命令
miix@miix-PC:~/Desktop$ sudo -S su | echo "frwefbuurb534fej"
frwefbuurb534fej
root@miix-PC:/home/miix/Desktop#
短时间内重复使用 sudo 本来就是不需要重复输入密码的
新打开终端测试的
会不会是写反顺序了呢?
你看我的运行结果:
miix@miix-PC:~/Desktop$ sudo mkdir test
请输入密码:
验证成功
miix@miix-PC:~/Desktop$ echo "frwefbuurb534fej" | sudo -S su
bash:行1: frwefbuurb534fej:未找到命令
miix@miix-PC:~/Desktop$ echo "frwefbuurb534fej" | sudo -S su
bash:行1: frwefbuurb534fej:未找到命令
miix@miix-PC:~/Desktop$ sudo -S su | echo "frwefbuurb534fej"
frwefbuurb534fej
root@miix-PC:/home/miix/Desktop#
谢谢,不是这个问题。看这个
https://blog.csdn.net/coraline1991/article/details/120234508
谢谢,不是这个问题。看这个
https://blog.csdn.net/coraline1991/article/details/120234508
我知道你是什么意思了,你意思是想首次运行终端时,首次鉴权和切换到root在一条命令里实现,但是它不允许,你想问为什么?那只能说它就这么设定的了,既然不允许,那你就分两条命令操作吧。
echo "password" | sudo -S whoami
sudo su
如何硬要深究为什么不可以的话,我的理解是因为管道,因为这条命令使用了“|”符号,所以这很明显是个管道命令。
管道就是把命令1的标准输出发送给命令2的标准输入,把命令2的标准输出发送给命令3的标准输入,依次类推。。。
最后一个命令会在当前shell进程的子shell进程中执行,子shell进程中切换到root当然影响不到当前shell进程。所以你仍然是当前用户。
如果有不对,还请指正。
我知道你是什么意思了,你意思是想首次运行终端时,首次鉴权和切换到root在一条命令里实现,但是它不允许,你想问为什么?那只能说它就这么设定的了,既然不允许,那你就分两条命令操作吧。
echo "password" | sudo -S whoami
sudo su
如何硬要深究为什么不可以的话,我的理解是因为管道,因为这条命令使用了“|”符号,所以这很明显是个管道命令。
管道就是把命令1的标准输出发送给命令2的标准输入,把命令2的标准输出发送给命令3的标准输入,依次类推。。。
最后一个命令会在当前shell进程的子shell进程中执行,子shell进程中切换到root当然影响不到当前shell进程。所以你仍然是当前用户。
如果有不对,还请指正。
谢谢。似乎明白了,还得消化消化
我知道你是什么意思了,你意思是想首次运行终端时,首次鉴权和切换到root在一条命令里实现,但是它不允许,你想问为什么?那只能说它就这么设定的了,既然不允许,那你就分两条命令操作吧。
echo "password" | sudo -S whoami
sudo su
如何硬要深究为什么不可以的话,我的理解是因为管道,因为这条命令使用了“|”符号,所以这很明显是个管道命令。
管道就是把命令1的标准输出发送给命令2的标准输入,把命令2的标准输出发送给命令3的标准输入,依次类推。。。
最后一个命令会在当前shell进程的子shell进程中执行,子shell进程中切换到root当然影响不到当前shell进程。所以你仍然是当前用户。
如果有不对,还请指正。
再次感谢
我一般都是用sudo -i
Popular Ranking
ChangePopular Events
More

中文 
已知,打开终端执行sudo su,输入密码后,提示符发生改变,成为root@ccc-PC:/home/ccc#
问题,打开终端执行echo "password"|sudo -S su后,提示符没有发生改变,仍然是ccc@ccc-PC:~$(再以sudo执行命令不需要输入密码)。
请问这是为什么?谢谢