Chcę użyć powłoki do wywołania skryptu na zdalnym serwerze. Chciałbym uchwycić dane wyjściowe tego skryptu (jego komunikaty rejestrowania) i kod wyjścia, który zwraca.
Jeśli to zrobię:
ssh user@server /usr/local/scripts/test_ping.sh
echo "$?"
Otrzymuję kod wyjścia, ale nie mogę przechwycić wiadomości zdalnego logowania.
Jeśli to zrobię:
local RESULTS=$(ssh user@server /usr/local/scripts/test_ping.sh)
echo "$?"
LOG "${RESULTS}";
Rejestruję dane wyjściowe za pomocą funkcji LOG, ale nie mogę uzyskać poprawnego kodu wyjścia, zakładam, że otrzymany kod jest kodem z przypisania zmiennej.
Chciałbym nadal używać mojej funkcji LOG do przechwytywania wszystkich danych wyjściowych podczas formatowania i wysyłania rzeczy do pliku, syslog i ekranu.
Jak przechwycić wyniki w zmiennej ORAZ uzyskać poprawny kod wyjścia ze zdalnego skryptu?