我有以下简单的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变量 "没有成功
那是因为您正在禁用pathname expansion该-f选项.
#!/bin/bash -fx
Run Code Online (Sandbox Code Playgroud)
来自男人:
-f
Disable filename expansion (globbing).
Run Code Online (Sandbox Code Playgroud)