shell脚本中怎样由user自动切换到root

sh/bash/dash/ksh/zsh等Shell脚本
回复
shenxun521
帖子: 14
注册时间: 2009-06-12 17:58
送出感谢: 0
接收感谢: 0

shell脚本中怎样由user自动切换到root

#1

帖子 shenxun521 » 2010-03-25 9:49

大家好 我想在脚本中由user 自动切换到root请问我该怎么做
比如我的密码是123456
我在脚本中su
然后想自动能够输入123456,以root的状态执行某些命令谢谢大家
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30
送出感谢: 2 次
接收感谢: 31 次

Re: shell脚本中怎样由user自动切换到root

#2

帖子 aerofox » 2010-03-26 12:28

sudo
delectate
帖子: 18311
注册时间: 2008-01-09 22:41
送出感谢: 0
接收感谢: 6 次

Re: shell脚本中怎样由user自动切换到root

#3

帖子 delectate » 2010-03-26 12:36

su root
shenxun521
帖子: 14
注册时间: 2009-06-12 17:58
送出感谢: 0
接收感谢: 0

Re: shell脚本中怎样由user自动切换到root

#4

帖子 shenxun521 » 2010-03-27 20:27

先谢谢ls 汗了 但是我的意思是在脚本中直接su root 然后想自动填入密码123456
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

Re: shell脚本中怎样由user自动切换到root

#5

帖子 eexpress » 2010-03-27 22:52

echo 12345 | sudo -S
● 鸣学
shenxun521
帖子: 14
注册时间: 2009-06-12 17:58
送出感谢: 0
接收感谢: 0

Re: shell脚本中怎样由user自动切换到root

#6

帖子 shenxun521 » 2010-03-29 17:00

谢谢ls 但是我在sh脚本中
echo 12345|su root
会显示
su:必须从终端中执行
呵呵 就是想自动填入密码,不知道该怎么弄
头像
jxcangel
帖子: 2
注册时间: 2010-03-31 14:32
送出感谢: 0
接收感谢: 0

Re: shell脚本中怎样由user自动切换到root

#7

帖子 jxcangel » 2010-03-31 14:38

想在脚本中做需要人工交互的工作,那大概就得用Expect了,不过Expect是一个基于TCL语言的shell,和bash之间有些不同,不过这个脚本倒是可以给你参考一下:

#!/usr/bin/expect

expect -re "\$"
send "su root\r"
expect -re "\[P|p]assword:"
send "your password\r"
expect -re "\#"
...........

简单来说,就是用expect来匹配关键字,然后用send来发送匹配到关键字以后要输入的字符,注意发送字符的时候后面要带上 \r 来模拟回车操作。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

Re: shell脚本中怎样由user自动切换到root

#8

帖子 eexpress » 2010-03-31 15:38

执行看,是sudo -S
● 鸣学
shenxun521
帖子: 14
注册时间: 2009-06-12 17:58
送出感谢: 0
接收感谢: 0

Re: shell脚本中怎样由user自动切换到root

#9

帖子 shenxun521 » 2010-04-01 20:30

谢谢 ls各位 sudo -S 可以执行
但是我用
sudo -S apt-get install amarok 的时候产生如下信息
共升级了 0 个软件包,新安装了 14 个软件包,要卸载 0 个软件包,有 6 个软件未被升级。
需要下载 14.4MB 的软件包。
解压缩后会消耗掉 48.7MB 的额外空间。
您希望继续执行吗?[Y/n]中止执行。
shell 自动帮我终止执行,能有办法让脚本安装一个软件成功么
头像
tenzu
论坛版主
帖子: 36913
注册时间: 2008-11-21 20:26
送出感谢: 0
接收感谢: 21 次

Re: shell脚本中怎样由user自动切换到root

#10

帖子 tenzu » 2010-04-01 20:42

apt-get后面跟-y不知道行不行
djhui
帖子: 85
注册时间: 2007-03-10 12:34
送出感谢: 0
接收感谢: 0
联系:

Re: shell脚本中怎样由user自动切换到root

#11

帖子 djhui » 2010-04-21 22:25

sudo -S apt-get install amarok -y
dongyuwei
帖子: 5
注册时间: 2009-01-01 10:17
送出感谢: 0
接收感谢: 0

Re: shell脚本中怎样由user自动切换到root

#12

帖子 dongyuwei » 2010-04-25 23:22

执行visudo,把自己 添加到sudoer中
回复

回到 “Shell脚本”