1

После Double SSH и запуска интерактивной оболочки мне нужно запустить два типа циклов после двух команд ssh:

#!/bin/bash/expect
ssh -t -t server.com ssh -t -t virtualHostName '"

declare -a arr=("element1" "element2" "element3");
for a in "${arr[@]}" ; do echo $a; done;

for a in $(arp -a | tail -n+2 | cut -d\  -f1)
do
    echo "Connected to $a"
done

#arp -a #This works
#traceroute admin #This works
echo Terminating "'

Однако первый цикл ничего не печатает, а второй возвращается (хотя он работает нормально, если я копирую и вставляю цикл в терминал после того, как вручную ssh):

bash: -c: line 5: syntax error near unexpected token `virtualHostName.admin'

1 ответ1

0

Похоже, это проблема с кавычками, как упомянул @Kamil Maciorowski.

Сейчас я просто заменю каждую кавычку на "\" "и добавлю \ перед каждым $ за https://unix.stackexchange.com/questions/233938/ssh-meremote-script-with-a-for- петля-и-переменная-проблема-с-переменной-е ...

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .