LINUX.ORG.RU

Нет! Ответ A не правильный. А вот почему рекомендую поискать в гугле, прежде чем сдавать «ыкзамены на сисадмына», а то развелось тут....

anc ★★★★★
()
Ответ на: комментарий от anc

Я задал вопрос потомучто хочу разобраться. Гугл к сожалению не помог. Как помне самый правильный вариант &> но его здесь нету.

Вариант А не правильный я его уже тестил. Но я не могу понять почему. Опишу как я понимаю логику:

A. 2>&1 >filename 2>&1 - перенаправляет stderror на stdout.

filename - перенаправляет stdout в файл

Я не могу понять почему поменяв местами работает по разному

ibahob
() автор топика
Ответ на: комментарий от ibahob

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

anc ★★★★★
()
Ответ на: комментарий от anc

Ради интереса ткнул еще несколько ссылок, даже на wiki есть статья хоть и кривая.
Вы точно не ту профессию выбираете. Если даже гуглом не умеете пользоваться.

anc ★★★★★
()
Ответ на: комментарий от anc

:) нашел и разобралсяю Вот ответ: Although lots of sh manual pages don't mention this, the shell reads arguments from left to right.

On the first command line, the shell sees 2>&1 first. That means «make the standard error (file descriptor 2) go to the same place as the standard output (fd1) is going.» There's no effect because both fd2 and fd1 are already going to the terminal. Then >file redirects fd1 ( stdout ) to file . But fd2 ( stderr ) is still going to the terminal.

On the second command line, the shell sees >file first and redirects stdout to file . Next 2>&1 sends fd2 ( stderr ) to the same place fd1 is going - that's to the file. And that's what you want.

ibahob
() автор топика
Ответ на: комментарий от anc

Спасибо! Статья шикарная. Вот и незря задал вопрос, получил ссылку на хорошую статью.

ibahob
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.