Да, это необходимо.
Начиная с текущей версии 1.0.8, bzip2 --version
будет печатать информацию о версии, но также продолжит сжатие stdin
:
$ ./bzip2 --version
bzip2, a block-sorting file compressor. Version 1.0.8, 13-Jul-2019.
Copyright (C) 1996-2019 by Julian Seward.
This program is free software; [...]
bzip2: I won't write compressed data to a terminal.
bzip2: For help, type: `bzip2 --help'.
При дополнительной передаче по head
он просто зависнет, ожидая данных на stdin. < /dev/null
предотвращает это, представляя файл нулевой длины, который он может сжать вместо этого. (Это добавляет некоторый двоичный мусор в конец вывода, но он фильтруется head
, так что это не имеет значения).
Debian (и его нисходящие потоки, такие как Ubuntu) исправит это , что делает < /dev/null
ненужным:
@@ -1916,8 +1918,8 @@ IntNative main ( IntNative argc, Char *a
if (ISFLAG("--keep")) keepInputFiles = True; else
if (ISFLAG("--small")) smallMode = True; else
if (ISFLAG("--quiet")) noisy = False; else
- if (ISFLAG("--version")) license(); else
- if (ISFLAG("--license")) license(); else
+ if (ISFLAG("--version")) { license(); exit ( 0 ); } else
+ if (ISFLAG("--license")) { license(); exit ( 0 ); } else
if (ISFLAG("--exponential")) workFactor = 1; else
if (ISFLAG("--repetitive-best")) redundant(aa->name); else
if (ISFLAG("--repetitive-fast")) redundant(aa->name); else
Но очевидно, что Linux From Scratch не выигрывает от каких-либо патчей, определяемых дистрибутивом c.