【发布时间】:2014-08-11 05:14:21
【问题描述】:
我在使用 bash 变量执行期望命令时遇到问题。我有脚本参数给出的位置,我需要通过expect -c在发送命令中使用它。但我需要用 " 给出它,所以实际上发送命令认为我已经结束输入并且在关闭引号后将其余命令识别为额外字符。事情就像:
#!/bin/bash
SIGN=ppp
expect -cd 'spawn ssh user@host
expect "Password:"
send -- "pass\r"
expect "*~>"
send -- "find /local/"$SIGN"/ -maxdepth 1 -type d -mtime +30 |xargs rm -rfv\r"
expect "*~>"
send -- "exit\r"'
知道如何在不使用双引号的情况下将变量从 bash 发送到期望吗?顺便说一句 - 我不能为 ssh 使用密钥
【问题讨论】:
标签: linux bash shell ssh expect