Предположим, у меня есть следующий скрипт на удаленном хосте:
$ 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
