Как записать локальные и удаленные переменные оболочки в сценарий оболочки - PullRequest
0 голосов
/ 26 мая 2020

Я пытаюсь выполнить команду на удаленном хосте, используя s sh. Здесь мне нужно захватить код выхода этой удаленной команды на этом удаленном хосте, и в то же время мне нужно захватить код выхода моей команды s sh. Как я могу захватить как локальные, так и удаленные переменные оболочки с помощью одной и той же команды?

В основном требование:

ssh user@remotehost "/etc/stop_database; echo $?"

На основе кода возврата моей команды s sh мне нужно выполнить некоторые действия.

if [ $? -ne 0 ]; then
echo ssh failed
else
echo ssh success
fi

Также в зависимости от кода выхода удаленной команды на этом хосте мне нужно выполнить следующие действия:

if database_stopped; then
echo DB stopped successfully
else
echo Unable to stop DB
fi

1 Ответ

0 голосов
/ 26 мая 2020

При условии, что stop_database не производит никакого вывода или перенаправляется, удаленный echo $? может быть захвачен в скрипт var плюс доступ к коду выхода s sh; в этом примере моделирования "ssh yadda ..." заменяется локальным материалом:

#!/bin/bash

rmt_sd=$(echo 23; exit 46)
ssh_ec=$?

echo rmt_sd $rmt_sd, ssh_ec $ssh_ec
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...