bash模式与星号

Eya*_*hem 0 bash glob

我有以下简单的bash脚本:

#!/bin/bash -fx 
ls *sh
Run Code Online (Sandbox Code Playgroud)

问题是bash为模式添加了一个引号,输出错误.

+ ls '*sh'
ls: cannot access *sh: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我该如何改变这种行为?

ls *sh终端的输出是:

$ls *sh 
a.bash  a.sh  b.sh
Run Code Online (Sandbox Code Playgroud)

我试图根据这篇文章添加引号 - " 包含文件通配符的Bash变量 "没有成功

who*_*oan 8

那是因为您正在禁用pathname expansion-f选项.

#!/bin/bash -fx
Run Code Online (Sandbox Code Playgroud)

来自男人:

-f
    Disable filename expansion (globbing).
Run Code Online (Sandbox Code Playgroud)