我有一个脚本。它接受参数,但我希望它,当它接收到字符串"*
"时,在列表变量中自动完成匹配字符串。
不幸的是,如果用户不使用反斜杠转义通配符来转义星号,这是不可能的:
foo.py ba* # Will expand to "bar"
不这样做会导致bash将其扩展到工作目录中的一个文件,然后将其传递给我的脚本。
告诉bash不要自动展开星号并将其传递给我的脚本需要什么?也许是安装脚本?
set -o noglob
将阻止bash扩展*
。
删除set +o noglob
在bash中简单地调用它来转义:
foo.py 'ba*'