Не могу понять почему
$ apt-cache policy foo
N: Unable to locate package foo
но
$ apt-cache policy foo 2>&1 | grep .
пустой.
Где в последнем звонке я делаю неправильное предположение?
Исходное задание: мне нужно обработать apt-cache policy
вывод предположительно :-)
UPD :
foo
используемый в моем примере может быть заменен любым именем пакета, которого нет в вашем apt-get
индексе.
UPD 2 :
есть ответ с обходным путем. Дополнительная +50
награда будет присуждаться любому, кто объясняет, почему 2>&1
решение не работает.
strace apt-cache policy foo 2>&1
и есть системный вызов, ioctl(1, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
я думаю, из-за этого вызова 1 (стандартный вывод) возникают проблемы. Я имею в виду, что это больше не написано в tty
# apt-cache policy vim 2>&1 |grep . vim: Installed: 2:7.4.712-2 Candidate: 2:7.4.712-2 Version table: *** 2:7.4.712-2 0 500 http://ftp.debian.org/debian/ sid/main amd64 Packages 100 /var/lib/dpkg/status