Как остановить перенаправление в bash

Я использую :

exec >script.log 2>&1 

в моем скрипте перенаправить весь вывод в файл. В конце сценария я хотел бы напечатать сообщение на экране. Как остановить перенаправление?

3 Solutions collect form web for “Как остановить перенаправление в bash”

Вы можете вызвать exec раз, чтобы восстановить исходные дескрипторы. Вам нужно будет их где-то спасти.

 exec 3>&1 4>&2 1>script.log 2>&1 … logged portion … exec 1>&3 2>&4 echo >&2 "Done" 

Внутри зарегистрированной части вы можете использовать исходные дескрипторы для одной команды, перенаправляя дополнительные дескрипторы.

 echo "30 seconds remaining" >&3 

Кроме того, вы можете поместить зарегистрированную часть вашего скрипта внутри составной команды и перенаправить эту составную команду. Это не работает, если вы хотите использовать исходные дескрипторы в ловушке где-то внутри этой перенаправленной части.

 { … logged portion … } >script.log 2>&1 echo >&2 "Done" 

Используйте adddinal fd 3 и 4 для stdout и stderr и просто перенаправляйте 1 и 2 к ним в конце вашего скрипта:

 exec 3>&1 4>&2 exec >script.log 2>&1 echo "Some code" exec >&3 2>&4 echo "Done" 

Сначала вы должны проверить, есть ли у вас tty.

 if tty -s; then echo "Hello, World" > $(tty) fi 
  • В чем разница между && и; при разрыве сна на фоне?
  • Как выполнить несколько команд с помощью nohup
  • Предотвращение зависания при запуске скриптов python
  • Как выполнить цикл for в bash как строку
  • Работа с вспомогательными подкомандами последних инструментов CLI
  • добавьте несколько строк в начале и в нижней части строки, поступающей из файла read
  • Счетный вход от считывания всегда возвращает 1 в оболочке
  • Захват имени файла, указанного символической ссылкой в ​​переменной
  • Korn Shell: конец, pgup, pgdown и ключ удаления не работают
  • Способ автоматической замены исходного файла на выход?
  • Почему эхо-оболочка встроена в команду?
  • Interesting Posts

    Рекурсивно применить команду для изменения всех файлов в каталоге

    Что такое виртуальный мост с -nic в конце имени

    Создайте два варианта загрузки для одного и того же дистрибутива, но с параметрами post run

    Проверка необходимых M4 макросов … yelp.m4 не найден

    Сделайте минимальный Linux-диск в реальном времени

    Как я могу создать процесс, который трудно убить?

    Как установить Apache (httpd-2.4.25.tar.gz) в версию Linux Mint Debian?

    tmpfs: создание файла в tmpfs не изменяет использование памяти в htop / top

    Ограничить пропускную способность пользователя SFTP

    необходимо переместить файлы в другую папку на основе даты создания

    rsync-сервер и клиентская проблема

    Как я могу извлечь / проанализировать полный URL-адрес из полуслучайной строки?

    Vim: установить «клавиши курсора» hjkl в wasd

    Что подразумевается под «локально установленным пакетом» в мире Unix?

    Как хранить цветной текст в переменной и печатать его с цветом позже?

    Linux и Unix - лучшая ОС в мире.