apt-cacheポリシー出力がパイプされないのはなぜですか?

apt-cacheポリシー出力がパイプされないのはなぜですか?

なぜかわかりません。

$ apt-cache policy foo
N: Unable to locate package foo

しかし、

$ apt-cache policy foo 2>&1 | grep .

空いた。

後者の呼び出しで、私はどこで間違った仮定をしましたか?

apt-cache policy最初のタスク:おそらく出力を処理する必要があるようです :-)

UPD:

foo私の例で使用されているパッケージ名は、他のパッケージ名に置き換えることができます。存在しないあなたの索引にapt-get

アップデート2:

答えと解決策があります。このソリューションがうまくいかない理由を説明できる人は誰でも追加の+50賞金を受け取ります。2>&1

ベストアンサー1

stdoutがttyではなく(つまり、通常のファイルまたはパイプ)--quietオプションが指定されていないapt-cache場合は、それを渡したかのように処理されます--quiet=1。解決策はオプションを渡すことです--quiet=0

$ apt-cache --quiet=0 policy foo 2>&1 | grep .
N: Unable to locate package foo

おすすめ記事