Ожидайте, что сценарий изменит отправку «\\» на «\»

Поэтому я пытаюсь использовать функцию ожидаемого для автоматизации резервного копирования работающей конфигурации некоторых коммутаторов в нашей сети. Проблема, с которой я сталкиваюсь, заключается в изменении части моих команд отправки, и я не знаю, как это исправить.

Например, я использую то, что ниже.

#/usr/bin/expect

spawn /usr/bin/plink -ssh x.x.x.x

expect -exact "User Name:"

send "USERNAME\r"

expect -exact "Password:"

send "PASSWORD\r"

send "copy running-config flash:\\startup-config"

expect "Overwrite file [startup-config] ?[Yes/Press any key for no]"

send "y\r"

expect "Copy succeeded"

send "exit/r"

expect "eof"

, но в итоге получаю путаницу с "flash:\\startup-config" вместо того, чтобы отправить "flash:\startup-config", и я в растерянности относительно того, как это называется (чтобы найти, как это исправить).

Кто-нибудь может помочь с указанием меня в правильном направлении?

2
задан 23 March 2016 в 19:30

1 ответ

Tcl использует \, символ для выхода из вещей, как Вы использовал \r для новой строки. Если Вы хотите отправить сингл \ Вы или должны выйти из него с другим \, таким образом, это становится \\, или Вы выходите из строки с фигурными скобками {}, который предотвратит такие специальные Escape. Ваши опции поэтому:

send "copy running-config flash:\\\\startup-config"

или

send {copy running-config flash:\\startup-config}
0
ответ дан 24 March 2016 в 05:30
  • 1
    Что делает Вы имеете в виду с " деактивируйте partition"? можно ли показать sceenshot дисплея gparted, поскольку это смотрит теперь? Почему can' t Вы запускают человечность снова? – ridgy 25 June 2017 в 04:03

Другие вопросы по тегам:

Похожие вопросы: