Вы можете использовать конструкцию foo="$(command)"
для возврата вывода command
в переменную foo
. Итак, для вашего пользования -чехол:
$ BWD="$(basename "$PWD")"
В TCL пара [ ] является вызовом для подстановки команд, подобно $()в оболочках POSIX.
Если у вас есть autoexpect
, то самый простой способ написать сценарий ожидания — это использовать autoexpect, чтобы наблюдать за тем, как вы что-то делаете, а затем отредактировать получившийся сценарий, удалив ненужные элементы.
Вы можете изменить "..." на {...}, чтобы избежать оценки строки.
#!/usr/bin/expect -f
set VAR [lindex $argv 1]
spawn ssh root@$argv
expect {Are you sure you want to continue connecting (yes/no/[fingerprint])? }
send "yes\r"
Обычно требуется что-то большее, чтобы приглашение было необязательным, например.
#!/usr/bin/expect -f
set VAR [lindex $argv 1]
spawn ssh root@$argv
expect {
{Are you sure you want to continue connecting (yes/no/[fingerprint])? } {
exp_send "yes\r"
exp_continue
}
{Password:} {send "secret\r"}
{# }
}