Очепятался при наборе команды:
$ foo | 2>/dev/null
Не получил ошибку и стало интересно.
Как sh
вычисляет такие выражения?
Почему такое
$ sh -c 'foo |'
sh: -c: line 1: syntax error: unexpected end of file
$ foo |
>
$ sh -c 'foo | 1>bar'
$ foo | 1>bar