我想定义一个包含星号(*(的变量,比如这个
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