即使设置,ExtGlob也无法在非相互作用的外壳中工作

发布于 2025-01-21 22:03:22 字数 367 浏览 1 评论 0原文

$ bash -c 'shopt -s extglob ; echo !(foo)' 
bash: -c: line 1: syntax error near unexpected token `('
bash: -c: line 1: `shopt -s extglob ; echo !(foo)'

但是,

$ bash -c 'shopt -s extglob ; shopt|grep extglob'
extglob         on

等效代码在脚本文件中运行,按预期工作。

我可以获得extGlob-c一起使用吗?

$ bash -c 'shopt -s extglob ; echo !(foo)' 
bash: -c: line 1: syntax error near unexpected token `('
bash: -c: line 1: `shopt -s extglob ; echo !(foo)'

However

$ bash -c 'shopt -s extglob ; shopt|grep extglob'
extglob         on

The equivalent code run in a script file works as expected.

Can I get extglob to work with -c?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

只怪假的太真实 2025-01-28 22:03:22

这个可以完成您想要的东西吗?

SHELL = /usr/bin/env bash -O extglob

target:
    @echo !(foo)

Can this Makefile accomplish what you wanted ?

SHELL = /usr/bin/env bash -O extglob

target:
    @echo !(foo)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文