shell脚本切换普通用户,不是root用户

JOCKER-- 发布于 2013/02/01 14:32
阅读 3K+
收藏 0
我现在在A用户,要切换到B用户,执行这个shell就能切换到B用户,这个shell怎么写
加载中
0
dedenj
dedenj

passwd=load

su - load <<!

$passwd

cd ~/backup

rm *.txt

exit

!

0
OscerSong
OscerSong
用expect来解决
0
屈能荣
屈能荣

楼上的方法可行;如果是简单的需求,不如直接su过去;

用expect可以参考这里的做法:http://qyiyunso.blog.163.com/blog/static/350776862009112395940647/;核心代码如下:

#!/usr/bin/expect -f
# ch2git.expect

#set timeout 5
set username git
set userpass git
spawn su $username
expect "Password:"
send "$userpass\r"
interact
这里用户名和密码都是git,注意前面的两个set的行;运行结果如下:

$ch2git.expect 
spawn su git
Password: 
$ exit
你也可以把输出的信息重定向掉;

返回顶部
顶部