Запись вывода ssh shell и сохранение статуса выхода

Эти ошибки безвредны, потому что вы используете JRE; недостающие команды предоставляются только JDK. После запуска update-java-alternatives -s jre-8-oracle-x64 , java -version подтвердит, что вы используете Oracle JRE по умолчанию:

$ java -version
java version "1.8.0_102"
Java(TM) SE Runtime Environment (build 1.8.0_102-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)
2
16.05.2017, 01:50
2 ответа

проверка ${PIPESTATUS[0]} сработала для меня...

if [ ${PIPESTATUS[0]} -eq 0 ]; then
  echo "successfull"
fi

echo ${PIPESTATUS[*]} печатает коды выхода всех конвейерные команды.

5
27.01.2020, 21:52

Ответ на : "как войти вывод оболочки ssh?"

  • используйте простое перенаправление >

, например.

ssh user@remote_host "command" > local_log_file.txt

или

sshpass -p 'psswd' ssh username@server-2 "echo 'testing'; cp dir1/file1 dir2;" > local_machine_ssh_log.txt

Если вы хотите проверить результат выполнения команды cp на удаленном сервере, я предлагаю запустить оператор if на удаленном хосте как часть команда, которую вы отправляете, сразу после запуска команды cp

что-то вроде:

sshpass -p 'psswd' ssh username@server-2 "echo 'testing'; cp dir1/file1 dir2;if [ $? -eq 0 ]; then   echo "successfully copied"; else   echo "failed copying due to incorrect path"; fi" > local_machine_ssh_log.txt
2
27.01.2020, 21:52

Теги

Похожие вопросы