shell脚本中怎样由user自动切换到root
-
- 帖子: 14
- 注册时间: 2009-06-12 17:58
shell脚本中怎样由user自动切换到root
大家好 我想在脚本中由user 自动切换到root请问我该怎么做
比如我的密码是123456
我在脚本中su
然后想自动能够输入123456,以root的状态执行某些命令谢谢大家
比如我的密码是123456
我在脚本中su
然后想自动能够输入123456,以root的状态执行某些命令谢谢大家
-
- 帖子: 1453
- 注册时间: 2008-05-24 8:30
-
- 帖子: 18311
- 注册时间: 2008-01-09 22:41
Re: shell脚本中怎样由user自动切换到root
su root
-
- 帖子: 14
- 注册时间: 2009-06-12 17:58
Re: shell脚本中怎样由user自动切换到root
先谢谢ls 汗了 但是我的意思是在脚本中直接su root 然后想自动填入密码123456
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
-
- 帖子: 14
- 注册时间: 2009-06-12 17:58
Re: shell脚本中怎样由user自动切换到root
谢谢ls 但是我在sh脚本中
echo 12345|su root
会显示
su:必须从终端中执行
呵呵 就是想自动填入密码,不知道该怎么弄
echo 12345|su root
会显示
su:必须从终端中执行
呵呵 就是想自动填入密码,不知道该怎么弄
- jxcangel
- 帖子: 2
- 注册时间: 2010-03-31 14:32
Re: shell脚本中怎样由user自动切换到root
想在脚本中做需要人工交互的工作,那大概就得用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 来模拟回车操作。
#!/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
- 来自: 长沙
-
- 帖子: 14
- 注册时间: 2009-06-12 17:58
Re: shell脚本中怎样由user自动切换到root
谢谢 ls各位 sudo -S 可以执行
但是我用
sudo -S apt-get install amarok 的时候产生如下信息
共升级了 0 个软件包,新安装了 14 个软件包,要卸载 0 个软件包,有 6 个软件未被升级。
需要下载 14.4MB 的软件包。
解压缩后会消耗掉 48.7MB 的额外空间。
您希望继续执行吗?[Y/n]中止执行。
shell 自动帮我终止执行,能有办法让脚本安装一个软件成功么
但是我用
sudo -S apt-get install amarok 的时候产生如下信息
共升级了 0 个软件包,新安装了 14 个软件包,要卸载 0 个软件包,有 6 个软件未被升级。
需要下载 14.4MB 的软件包。
解压缩后会消耗掉 48.7MB 的额外空间。
您希望继续执行吗?[Y/n]中止执行。
shell 自动帮我终止执行,能有办法让脚本安装一个软件成功么
- tenzu
- 论坛版主
- 帖子: 36924
- 注册时间: 2008-11-21 20:26
-
- 帖子: 85
- 注册时间: 2007-03-10 12:34
- 联系:
Re: shell脚本中怎样由user自动切换到root
sudo -S apt-get install amarok -y
-
- 帖子: 5
- 注册时间: 2009-01-01 10:17
Re: shell脚本中怎样由user自动切换到root
执行visudo,把自己 添加到sudoer中