Часто я сталкиваюсь с небольшими сценариями bash, которые используют этот вид синтаксиса в операторах if:
some command > /dev/null 2>&1
Какова цель вывода на /dev/null, как это, и что делает 2>&1
Кажется, что это работает, но я хотел бы знать, что он делает.
STDIN представлен 0, STDOUT на 1 и STDERR на 2.
/ dev / null - бит-ведро: место, где вы сбрасываете все, что вам не нужно. [!d1 ]
Итак, STDOUT перенаправляется на бит-ведро (мусор), а STDERR перенаправляется туда, где находится STDOUT: бит-ведро.
[ ! d5]Вы также можете сделать это:
>/dev/null 2>/dev/null