Linux-Mint

Linux mint ‘apt list’ 不適用於以 W 開頭的包

  • February 7, 2021

我對 Linux 很陌生。我安裝了Linux Mint 19.3。所以基本上據我所知apt list,它可以與萬用字元*?. 它適用於我嘗試過的大多數其他字母和字母序列。但是,當我想列出所有已安裝的Wine軟體包時,我發現 myapt list不適用於單詞“wine”和萬用字元的所有字母組合。例如:它不適用於“w*、wi*、win*、wine* 等”。除了以字母 W 開頭的葡萄酒外,我還有其他包裝。它只列出了名稱完全相同的包裝。但是,當我使用引號時它似乎可以工作(我的apt版本是 < 2.0,所以它似乎也將引號中的星號視為萬用字元)。我是不是錯過了什麼,

編輯0:所以感謝評論,我發現這是因為終端啟動的目錄中有文件以W開頭。但是為什麼會這樣以及它在程式級別上是如何工作的?它不應該將所有其他參數視為文件名以外的命令選項嗎?

當您使用bash萬用字元 like時w*bash首先會在目錄中搜尋匹配的條目並將它們傳遞給apt之前apt有機會對其進行評估,否則 like 命令ls file*將不起作用。使用引號強制bash按字面解釋表達式,萬用字元被傳遞給命令進行評估。您也可以使用 regex apt list --installed | grep ^w.*, bash 不會評估。

引用自:https://unix.stackexchange.com/questions/633207