macOS Mojave(配置篇):expect中send特殊字符(登录ssh时,自动连接远程)

Have you experienced despair?

接了一个服务器,md密码复杂程度太高,配置expect一直拨错,想到了转义,但是转起来好麻烦。

那些特殊字符需要转义

带有-解决方案

为了减少重复手工输入密码的步骤,一般会使用expect来自动输入,但是某些密码中含有的特殊字符会导致send命令出现错误,

网上的教程一般是建议加上转义符,但是遇到类似短横线‘-’这种字符还是会报错,最佳方法是用'send --'来输入含有特殊字符的字符串。

比如,密码是“-dafd@f12&-a”,so

send -- "-dafd@f12&-a"

其他特殊字符转义

上一篇记录了,iTerm2自动连接ssh的步骤,如果密码简单是可以成功的。但是比如我:

这个还是很绝望的,死活报错。

转义后

expect需要转义的符号列表

  1. \ 需转义为 \\\
  2. } 需转义为 \}
  3. { 需转义为 \{
  4. [ 需转义为 \[
  5. ] 需转义为 \]
  6. + 需转义为 \+
  7. - 需转义为 \-
  8. * 需转义为 \*
  9. / 需转义为 \/
  10. = 需转义为 \=
  11. ^ 需转义为 \^
  12. ? 需转义为 \?
  13. $ 需转义为 \\\$
  14. % 需转义为 \\\%
  15. @ 需转义为 \\\@
  16. ` 需转义为 \`
  17. " 需转义为 \\\"

 

注意:以上都是在双引号下面使用,如果没有单引号,或者单引号,请直接使用\转义

如有补充,欢迎 留言~

 

happy weekend~

 

感谢(如侵联删):

expect需要转义的符号列表:https://blog.csdn.net/secondjanuary/article/details/21775953

perl的expect发送特殊字符问题:https://blog.csdn.net/laputa73/article/details/6077636

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值