Эти ошибки безвредны, потому что вы используете 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)
проверка ${PIPESTATUS[0]}
сработала для меня...
if [ ${PIPESTATUS[0]} -eq 0 ]; then
echo "successfull"
fi
echo ${PIPESTATUS[*]}
печатает коды выхода всех конвейерные команды.
Ответ на : "как войти вывод оболочки 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