Ответ на : "как войти вывод оболочки 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
Вам не нужно знать номер строки, вы можете sed
безоговорочно (попытаться) изменить каждую строку:
$ sed -e 's/-ri //' < input > output
Становится более неудобно, если у вас есть совпадения в нескольких строках, и хотите обрабатывать только некоторые из них.
sed
можно использовать для подобных задач:
sed 's/-ri //g' path/to/file
найдет каждое вхождение -ri
и заменит его ничем, используя замену s
opera in sed