linux下编写sh脚本使用expect问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下编写sh脚本使用expect问题相关的知识,希望对你有一定的参考价值。
我想在linux写个备份DB2数据库的脚本,需要切换到数据库对应的用户上。如:
t.sh
su db2inst1 #切换用户
#下面是备份数据库的
db2stop force
db2start
db2 connect to test
db2 backup db test online to /home/db2inst1
切换用户需要手动输入密码
我想写个运用expect的脚本 a.sh
#!/bin/bash
expect -c "
spawn ./t.sh
expect
\"*assword\" send \"111222\r\"; exp_continue
interact
expect eof"
这样写 测试后 可以实现自动输入密码,但是下面的备份数据库的命令不执行了。
应该怎样改?大神请指教
2、手动执行t.sh,看下什么情况;
3、spawn ./t.sh改为spawn sh -x t.sh跟踪一下;追问
t.sh已经执行了啊!第一行切换用户实现了
后面的备份命令没有执行
以上是关于linux下编写sh脚本使用expect问题的主要内容,如果未能解决你的问题,请参考以下文章
windows下编写的脚本文件,放到Linux中无法执行解决方法
windows下编写的脚本文件,放到Linux中无法执行解决方法