之前想用shell做自动化操作的脚本,就用了expect方式,一直运行得好好的,前几天报spawn语句错误了,找不到什么原因。
```shell
#!/bin/bash
passwd=39a490c5
#docker
expect -c "
set timeout 20
spawn sudo docker run -it --privileged -v /home/cv/data/xbd/3588v5_trans-205:/test rknn-toolkit2:1.3.0-cp36 /bin/bash
send \"$passwd\r\"
expect \"*]*\"
send \"cd test\r\"
expect \"*]*\"
send \"python temp.py\r\"
expect \"*]*\"
send \"exit\r\"
interact
"
报错是在spawn语句上,找不到什么原因;

#!/bin/bash
passwd=39a490c5
#docker
expect -c "
set timeout 20
spawn sudo -S docker run -it --privileged -v /home/cv/data/xbd/3588v5_trans-205:/test rknn-toolkit2:1.3.0-cp36 /bin/bash
expect \"Password:\"
send \"$passwd\r\"
expect \"*]*\"
send \"cd test\r\"
expect \"*]*\"
send \"python temp.py\r\"
expect \"*]*\"
send \"exit\r\"
interact
"
使用-S选项来从标准输入流中接收密码,而不是从Expect脚本中发送密码
spawn bash xxxx
也许有用,提供一个思路