在bash中使用变量中的星号作为扩展



我想定义一个包含星号(*(的变量,比如这个

var=*.fits

星号.fits不是我的文件名,而是一些扩展名为fit的文件的名称
实际上,我想定义这个变量,以便在下一阶段使用:

ls "$var"

这样我就可以看到所有扩展名为.fits的文件。

我该怎么做?似乎只写var=*.fits是行不通的。

提前感谢

如果您希望通配符赋值存储在变量中而不使用全局化分词,则必须引用它

var='*.fits *.txt'
var=*.fits
ls $var

在分配var=期间不执行globbing(但分词是(
正如您所看到的,您不能引用$var输出以使其评估

外壳膨胀到它在球状的瞬间发现的任何东西

ls "$var"
ls: cannot access '*.fits': No such file or directory
ls $var
file1.fits file2.fits file3.fits

最新更新