我不确定这是否只是我忘记的一个正则表达式怪癖,但还是说一下。我试图找到 nvidia-docker2 apt,发现以下搜索除了“Listing...Done”之外什么都没有返回。
sudo apt list nvidia-*
即使搜索 n* 也不会返回任何结果。所有其他搜索都可正常工作;a*、b* 等。事实上,N*(大写 N)列出了所有 n* apt,只是所有以“n”开头的搜索都不会返回任何结果。
这是怎么回事?
编辑:进一步调查发现,所有搜索直到“nvidia-docker2”均不返回任何内容(仅当全部小写时)。例如“nvidia-d*”和“nvidia-do*”不返回任何内容,但“nvidia-dr*”列出了 nvidia 驱动程序。
答案1
这是因为您的 shell 使用当前目录中的文件名扩展了 nvidia-*。
你可以尝试echo nvidia-*
去实现这一点。
举例来说,如果你nvidia-xyz.tar
在当前目录中有一个apt list nvidia-*
,实际上会执行apt list nvidia-xyz.tar
您可以使用引号来防止 shell 扩展您的模式:
apt list "nvidia-*"