【工作经历:阿里巴巴搜索技术研发中心QA ,百度新产品测试部QA】
【领域:测试分析,自动化测试,性能测试,安全测试 】
【个人定位:高级测试工程师+培训师+领域产品专家】
使用screen与expect共享shell
上一篇 /
下一篇 2009-07-02 21:03:26
/ 个人分类:原创
上次写完了
Linux下共享screen进行协作 后,感觉那样草草总结了,有点不负责任。
就重新利用screen与expect封装了下,把细节全都封装了。
使用前提,本机有screen与expect
用法
A求救于B,A执行screen_share B。然后会提示一条命令语句,同时会把命令发给B用户。
B看到命令,并执行后,两个人就在同一个
shell下了。
:<<screen_share_help
share you screen to others, it use screen to share and communicate, a weak is that it's can't allow more than 4 users
screen_share huangysh
screen_share gaoyang huangysh huangyj winniwei
screen_share_help
screen_share()
{
[[ $# = 0 ]] && echo please input a system user from who you want to communicate && return
ex sudo chown root:root `which screen`
ex sudo chmod +s `which screen`
#ls -l `which screen`
for u in $*
do
for t in `who |grep $u|awk '{print $2}'`;
do
echo `which screen` -rx $USER/$USER |write $u $t ;
done
done
echo Let your friends excute this below
print `which screen` -rx $USER/$USER
read -t 5 -p "Any key to enter the screen "
export screen_share_users="$*"
expect -c '
set timeout -1
spawn screen -R $env(USER)
match_max 100000
send -- "\r"
send -- "\r"
send -- "'$'\cA:''"
send -- "multiuser on\r"
send -- "\r"
send -- "'$'\cA:''"
send -- "acladd $env(screen_share_users)"
send -- "\r"
send -- "\r"
interact
'
}
收藏
举报
TAG: