Как работает перенаправление этой команды?

Вы хотите, чтобы ваш сценарий проверял, идет ли его стандартный вывод на tty или нет.

Ссылаясь на этот вопрос о переполнении стека, проверьте isatty в bash

#!/bin/bash

# set the terminal title, if I'm running in a terminal
if [[ -t 1 ]]; then echo -ne "\033]0;${1}\007"; fi

/usr/bin/ssh "$@"

Обратите внимание, что вы всегда хотите процитировать "$ @"

4
22.05.2017, 15:29
2 ответа

Краткое изложение:

exec 5<> открывает новый дескриптор файла для чтения и записи, а затем называет его 5

cat <&5 читает из этого вновь открытого дескриптора файла

2>&5 >&5 перенаправляет вывод как дескриптора файла 2 (stderr), так и дескриптора файла 1 ( stdout) в дескриптор файла 5. 1 в данном случае подразумевается, поскольку номер дескриптора файла не был указан при втором перенаправлении.

5
27.01.2020, 20:49

Ответы на некоторые части вашего вопроса приведены здесь

Но

  1. Это определяет новый файловый дескриптор с номером 5. Кстати, 0 — это STDIN, 1 — это STDOUT, 2 — файловые дескрипторы STDERR
  2. Эхо информации, полученной по TCP, IP 192.168.159.150, порт 4444
  3. Отправьте STDERR и STDOUT обработчику файлов 5, т.е. сети
3
27.01.2020, 20:49

Теги

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