无法理解为什么
$ 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
解决方案不起作用的人将获得额外的奖励。
@MohsenPahlevanzadeh是的,现在尝试我提供的确切呼叫(包名称):-)
—
zerkms 2015年
@MohsenPahlevanzadeh是吗?抱歉,您确定已经阅读了问题(和标题)吗?
—
zerkms,2015年
@MohsenPahlevanzadeh不是不相等(甚至不接近)
—
zerkms'5
我运行了,
—
-Esref
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(stdout)出现了问题。我的意思是它不再写给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