Перенаправить дескриптор файла с удаленного компьютера на локальный компьютер
Предположим, у меня есть следующий скрипт на удаленном хосте:
$ cat remote_script
#!/bin/bash
exec 3>file.log
echo "Output to stdout"
echo "Output to stderr" >&2
echo "Output to fd3 >&3
Когда этот скрипт выполняется на удаленной машине, он будет перенаправлен fd3
в файл на удаленной машине. Когда я подключаюсь через ssh
на пульт и выполните скрипт
$ ssh user@remote_host "./remote_script"
тогда я могу увидеть вывод stdin
а также stderr
на локальной машине. Выход из fd3
Тем не менее, все еще идет к файлу на удаленной машине.
Есть ли способ перенаправить fd3
чтобы увидеть его вывод на локальной машине и по- прежнему иметь возможность отличить его от stdout
?
Я уже пробовала
$ cat remote_script
#!/bin/bash
exec 3>&1
...
$ ssh user@remote_host "./remote_script" 3>local.file.log
но это только генерирует пустой файл на локальной машине, т. е. я не могу отделить fd3
от stdout