Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个脚本。它需要参数,但我希望它在接收到字符串“ *”时自动完成到列表变量中的匹配字符串。
*
不幸的是,如果用户不使用反斜杠转义星号来转义通配符,这是不可能的:
foo.py ba\* # Will expand to "bar"
不这样做会导致 bash 将其扩展为工作目录中的文件,然后将其传递给我的脚本。
告诉 bash 不要自动扩展星号并将其传递给我的脚本需要什么。也许是安装脚本?
set -o noglob
将阻止 bash 扩展*.
删除set +o noglob
set +o noglob
简单地这样称呼它以在 bash 中转义:
foo.py 'ba*'