Предоставление дополнительных дескрипторов вызывающей стороне сценария

Intente autoyastusar un procesador XSLT como xsltproc. si tiene un archivo de control de AutoYaST y desea completar el nombre de host a través de un script

https://www.suse.com/documentation/sles-12/singlehtml/book_autoyast/book_autoyast.html#CreateProfile.XSLT

1
24.07.2017, 21:49
1 ответ

Если вы сделаете это в своем скрипте:

ssh host cmd >&3 2>&4

Тогда любой, кто вызывает ваш скрипт, может сделать:

your-script > output 2> error 3> remote-output 4> remote-error

Однако, если они не перенаправляют fds 3 или 4, перенаправление >&3вызовет фатальную ошибку 3: Bad file descriptor.

В этом случае вы можете по умолчанию перенаправить их в /dev/null с помощью чего-то вроде:

(
   command exec >&3
   command exec 2>&4
   exec ssh host cmd...
) > /dev/null 2>&1

Запуск специальной встроенной команды execв commandотменяет специальный эффект выхода из подоболочки при неудачном перенаправлении. Ошибки для этих неудачных перенаправлений удобно отбрасываются внешним > /dev/null 2>&1.

2
27.01.2020, 23:33

Теги

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