цикл for не запускается после подключения по ssh

#bash #shell

#bash #оболочка

Вопрос:

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

PS: настройка ssh выполнена, поэтому при выполнении ssh проблем нет. Проблема связана со вторым циклом for .

 for ((i=11; i <= 16; i  ))
do
echo $i
ssh abc$i.uk.com << EOF
cd /home
  for j in `ls -1`
   do
     ls -lrt $j/*
   done
EOF
done
 

Комментарии:

1. Замена команды (обратные ссылки) происходит на стороне клиента, это то, что вы хотите?

2. Кроме того, по теме for и ls : mywiki . wooledge.org/ParsingLs

3. да, я должен быть выполнен на стороне удаленного сервера после ssh.

4. Вы могли бы использовать <<'EOF' . Или использовать for j in * . Или нет цикла и просто ls -lrt */* , или даже замените весь heredoc на ls -lrt /home/*/* .

5. rm -r /home/*/* должно быть достаточно.