Здравствуйте! Я уже писал на подобную тему ранее, ну решил создать новую тему, т.к. вопрос немного другой. Задача подключиться к другому серверу через ssh выполнить там определенные действия и вернуться назад, мне посоветовали утилиту sshpass, чтобы автоматизировать ряд действий, она с этим прекрасно справлялась пока я не решил усложнить задачу с помощью функций, на что посыпались ошибки(код и ошибки ниже), отсюда вопрос, а можно ли вообще использовать функции в таких местах, функции воспринимаются командами?
#функции не буду расписывать, так как смысла не вижу
function isroot(){
#проверка пользователя
}
function update(){
#обновление ПО
}
function inst(){
#установка ряда программ
}
function setup(){
#функция для установки
H=$1
P=$2
if [ -n "$H" ] && [ -n "$P" ]
then
sshpass -p"$P" ssh -o StrictHostKeychecking=no root@"$H" << EOF
#---------МОЖНО ЛИ ТУТ ВЫЗЫВАТЬ ФУНКЦИИ?----------
isroot
update
inst $H
#----------------------------------------------------
exit
EOF
if [ $PIPESTATUS -eq 0 ]
then echo "$DAT: Команда sshpass с аргументами выполнена успешно. Аргементы: $H, $P" >> $LOG
else echo "$DAT: Ошибка при выполнении команды sshpass." >> $LOG
exit 4
fi
else echo "$DAT: Ошибка при передачи переменных в функцию" >> $LOG
fi
}
setup "host" "password"
-bash: line 1: isroot: команда не найдена
-bash: line 2: update: команда не найдена
-bash: line 3: inst: команда не найдена