Shell 小结
最近一直在搞shell,仅以此篇做一点小结。
1.ssh远程执行脚本不能退出。
我用本地脚本连接执行了一个远程的脚本[email protected]'test.sh',当这个脚本执行完毕后却不能退出,因为我本地脚本还有别的事情要做。
解决方法是:
将屏幕输出到一个看不见的地方,如下[email protected]'test.sh>/dev/null</dev/null2>&1’
这样做的方法是看不到即时的脚本执行信息,但可以通过|teeaaa.log的方式将信息输入到aaa.log文件。
2.expect的使用
Example:
#!/usr/bin/expect指定运行expect路径
settimeout-1#设置timeout时间,默认10秒,因为我的脚本执行时间很长,所以设了
#没有timeout
setjob_name[lindex$argv0]#接收参数的方式,跟shell有点不同,shell里是
#$1这种的
[email protected]#连接到远程机器
expect"*assword*"#期望能看到一个输入密码的提示,支持正则
send"password\n"#发送密码,后面一定要加\n模拟回车
expect"#"#该干嘛干嘛
send执行命令
expecteof
感觉这东西不咋地,我怀疑后续发生的很多问题是这个引起的,但交互功能确实不错。
相关推荐
huha 2020-10-16
laisean 2020-11-11
大牛牛 2020-10-30
firefaith 2020-10-30
liguojia 2020-10-20
wangzhaotongalex 2020-10-20
以梦为马不负韶华 2020-10-20
JohnYork 2020-10-16
Julyth 2020-10-16
applecarelte 2020-10-16
laisean 2020-09-27
flycappuccino 2020-09-27
liguojia 2020-09-27
wangzhaotongalex 2020-09-22
流年浅滩 2020-10-23
liujianhua 2020-10-22
woaimeinuo 2020-10-21
tufeiax 2020-09-03
laisean 2020-09-01
vvu 2020-09-16
libao 2020-09-16
Yyqingmofeige 2020-08-18
zhushixia 2020-08-17