что означает 1> & 5?

Иногда, в сценариях оболочки, я вижу, как

echo yes 1>&5

я понимаю, что перенаправить куда-то, но я хотел бы знать более подробно.

А более конкретно, что означают 1,>, &, 5?

Буду признателен, если вы объясните их токен токеном.

Или любой указатель, который объясняет.

0
задан 15 August 2012 в 06:28

1 ответ

При поиске в Интернете немного, я нашел это.

n>&m    means redirect FD n to the same places as FD m. Eg, 2>&1 means send STDERR to the same place that STDOUT is going to.

STDIN is FD 0, while STDOUT is FD 1, and STDERR is FD 2

касательно: http://www.linuxsa.org.au/tips/io-redirection.html

Дескриптор файла 5 иногда используется, потому что это - самый низкий пронумерованный дескриптор файла, который действительно никогда не использовался ни для чего больше (FD 4 был /dev/tty на некотором очень старом unixes, и FD 3 имел различный, нестандартный, конкретная система, использование в другом Unix). Хотя, так как никакие 3 или 4 не использовались за более чем 2 десятилетия, это - вероятно, просто совпадение (или традиция), что Вы заметили появление FD 5.

касательно: http://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/html_node/File-Descriptors.html

относительно причины это используется. При помощи дескриптора файла сценарист избегает потребности на самом деле записать в файл, который мог сэкономить ему время и сделать инструмент для очистки сценария (никакая возможность случайно разбрасывания файлов). Кроме того, это позволяет Вам сделать все прохладные вещи с перенаправлением потоков к различным местоположениям и так далее.

3
ответ дан 15 August 2012 в 06:28

Другие вопросы по тегам:

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