Nie mogę zrozumieć dlaczego
$ apt-cache policy foo
N: Unable to locate package foo
ale
$ apt-cache policy foo 2>&1 | grep .
jest pusty.
Gdzie w tym drugim wezwaniu robię błędne założenie?
Oryginalne zadanie: apt-cache policy
prawdopodobnie przetwarzam dane wyjściowe :-)
UPD :
foo
użyte w moim przykładzie można zastąpić dowolną nazwą pakietu, która nie istnieje w twoim apt-get
indeksie.
UPD 2 :
istnieje odpowiedź z obejściem. Dodatkowa +50
nagroda zostanie przyznana każdemu, kto wyjaśni, dlaczego 2>&1
rozwiązanie nie działa.
strace apt-cache policy foo 2>&1
i jest wywołanie systemowe, ioctl(1, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
które myślę, że z powodu tego połączenia 1 (standardowe wyjście) ma problemy. Mam na myśli, że nie jest już napisany do 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