Je ne comprends pas pourquoi
$ apt-cache policy foo
N: Unable to locate package foo
mais
$ apt-cache policy foo 2>&1 | grep .
est vide.
Où dans ce dernier appel suis-je en train de faire l'hypothèse erronée?
La tâche d'origine: j'ai apt-cache policy
probablement besoin de traiter la sortie :-)
UPD :
foo
utilisé dans mon exemple peut être remplacé par n'importe quel nom de package qui n'existe pas dans votre apt-get
index.
UPD 2 :
il y a une réponse avec une solution de contournement. Une +50
prime supplémentaire sera accordée à toute personne qui explique pourquoi la 2>&1
solution ne fonctionne pas.
strace apt-cache policy foo 2>&1
et il y a un appel système, ioctl(1, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
je pense que cet appel 1 (stdout) a des problèmes. Je veux dire qu'il n'est plus écrit sur 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