Я пытаюсь написать сценарий, где у меня есть цикл для входа на несколько удаленных компьютеров и выполнения сценария внутри каждой машины. Вот пример:выполнение сценария с использованием ssh внутри цикла
for ((j=1; j < 2; j++)); do
mchname="n"$j
ssh -T $mchname <<'ENDSSH'
./run_script <input> output &
ENDSSH
done
Всякий раз, когда я пытаюсь выполнить вышеуказанный сценарий, я получаю: «предупреждение: здесь-документ в строке 37 разграничены отслуживших файла (хотел` ENDSSH ')»
Я новичок в ssh, поэтому я уверен, что делаю глупую ошибку. Может ли кто-нибудь предложить мне решение? Спасибо.
И '-T' по умолчанию, когда вы даете' ssh' явной команде для запуска, так что 'SSH $ mchname«./run_script < input > выхода &» '. – dave4420
Спасибо большое! Я бы никогда не поймал этого! – user1477337
Если вы используете «<< -» вместо «<<» для данного документа, любые ведущие вкладки (только вкладки, а не произвольные пробелы) из документа здесь и конечный тег будут удалены, что позволит вам отступы их более естественно , – chepner