Что делает &Number?

Я знаю это имеющее & в конце команды заставляет его работать в фоновом режиме. Я задавался вопросом, что делает &Number средний? Я смотрел на сценарий, который имеет некоторые команды, работающие с &1 и некоторые с &2.

1
задан 26.07.2011, 04:19

4 ответа

Это должно быть перемещено в SuperUser, но ответ - то, что они обращаются к дескрипторам файлов. &1 является стандартным выводом, и &2 является стандартной погрешностью, таким образом, прогон программы как это:

./program 2>&1

Дескриптор перенаправлений 2 (стандартная погрешность) к дескриптору 1 (стандартный вывод)

Общее использование этого должно сделать что-то вроде этого:

./program >file.txt 2>&1

Который перенаправляет стандартный вывод в файл и затем стандартную погрешность в стандартный вывод, так, чтобы Вы получили и регулярный и вывод ошибок, полученный в файле.

5
ответ дан 12.12.2019, 08:02

Поскольку Граница вводит оболочки (удар и т.д.)

mycmd > /output/file 2>&1

объединяет вывод стандартной погрешности (дескриптор файла 2) со стандартным выводом (дескриптор файла 1) и вписывает в них обоих /output/file.

1
ответ дан 12.12.2019, 08:02

'&' указывает на дескриптор файла. &1 является stdout, и &2 является stderr.

Если Вы не нашли хороший сайт для изучения оболочки уже, пишущей сценарий, я рекомендую этому:

http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html

1
ответ дан 12.12.2019, 08:02

&1 стандартный вывод (STD_OUT), &2 поток стандартной погрешности (STD_ERR)

0
ответ дан 12.12.2019, 08:02

Теги

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