이유를 알 수 없습니다
$ 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