The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Shell скрипты)
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

перенаправление stdout для всех команд bash-скрипта, mikra (?), 05-Сен-08, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


1. "перенаправление для всех команд скрипта"  +/
Сообщение от Andrey Mitrofanov (?), 05-Сен-08, 12:58 
>#####################################
>#!/bin/sh
>
>??? STDOUT="/root/stdout.txt"
>??? STDERR="/root/stderr.txt"

exec >"/root/stdout.txt" 2>"/root/stderr.txt"

Ну, или >>, по ввкусу.

>/bin/ls
>/bin/nosuchfile
>#####################################

Ответить | Правка | Наверх | Cообщить модератору

3. "перенаправление для всех команд скрипта"  +/
Сообщение от mikra (?), 05-Сен-08, 14:27 
>exec >"/root/stdout.txt" 2>"/root/stderr.txt"

Вот спасибо, то что нужно.
Мануал очень небольшой у exec... А обратно вернуть направления потоков?
exec > /dev/tty 2> /dev/tty

Правильно?

Ответить | Правка | Наверх | Cообщить модератору

5. "перенаправление для всех команд скрипта"  +/
Сообщение от phpcoderemail (??), 05-Сен-08, 15:13 
>Мануал очень небольшой у exec... А обратно вернуть направления потоков?
>exec > /dev/tty 2> /dev/tty
>
>Правильно?

Не знаю, как правильно, но следуя вашей логике я бы перенаправлял в /dev/stdout и /dev/stderr или просто 1 и 2

Ответить | Правка | Наверх | Cообщить модератору

6. "перенаправление для всех команд скрипта"  +/
Сообщение от mikra (?), 05-Сен-08, 15:21 
>>Мануал очень небольшой у exec... А обратно вернуть направления потоков?
>>exec > /dev/tty 2> /dev/tty
>>
>>Правильно?
>
>Не знаю, как правильно, но следуя вашей логике я бы перенаправлял в
>/dev/stdout и /dev/stderr или просто 1 и 2

/dev/stdout и /dev/stderr перенаправлены в файл. Вывод в них не попадает на экран. На экран ведёт только /dev/tty

Иными словами это работает, я уточняю можно ли так делать или есть ньюансы.

Ответить | Правка | Наверх | Cообщить модератору

7. "перенаправление для всех команд скрипта"  +/
Сообщение от Andrey Mitrofanov (?), 05-Сен-08, 16:00 
>Мануал очень небольшой у exec... А обратно вернуть направления потоков?
>exec > /dev/tty 2> /dev/tty
>
>Правильно?

Правильно:

exec 6<&0          # Link file descriptor #6 with stdin.
                   # Saves stdin.
exec < data−file   # stdin replaced by file "data−file"
#[---8<---]
echo; echo; echo
exec 0<&6 6<&−
# Now restore stdin from fd #6, where it had been saved,
#+ and close fd #6 ( 6<&− ) to free it for other processes to use.
#
# <&6 6<&−    also works.

Есть такое слово - ABS, Advanced Bash-Scripting Guide...

>>https://www.opennet.ru/docs/RUS/bash_scripting_guide/c11620.h...

Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру