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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章