Я пишу сценарий для входа на сервер шлюза и с сервера шлюза к узлам, которые имеют доступ только через шлюзBASH - войти на сервер, а затем другой сервер
Мой сценарий выглядит следующим образом:
#!/bin/bash
cool() {
ssh -A SERVER << EOF
ls -l
EOF
}
fool() {
ssh -A GATEWAY << EOF
touch foobar
$(cool)
EOF
}
export -f cool
export -f fool
fool
Итак, что происходит, я вхожу в GATEWAY и запускаю несколько команд. Затем, когда я вызываю функцию «cool» в ssh в узел, она делает это, но затем начинает считывать сообщение с заставки и выполняет неверную команду. Я хочу, чтобы он выполнял «ls -l» в функции cool!
О, и избавиться от заставки - это не вариант!
«* затем начинает считывать сообщение с экрана заставки и выполняет неверную команду *« - что? Что такое «заставка» и что такое «команда», о которой вы говорите? – melpomene
Когда я вхожу в сервер SERVER, есть экран spalsh, который сообщает мне последний раз, когда я вошел в этот сервер; –
команда, которую я хочу запустить, это «ls -l», но она начинает выполнение «вашего последнего входа .....» –