小编Iya*_*rek的帖子

为什么 bash 在与 xargs 命令一起使用时不解释星号字符?

据我了解,星号字符*在 Bash 中具有特殊含义,为了打印文字字符,我们需要转义它 ( \*) 或引用它 ("*"'*'.

但是,当我尝试过以下操作时:

$ seq 3 |  xargs -I *  echo *
1
2
3
Run Code Online (Sandbox Code Playgroud)

*为什么 Bash在上面的例子中不解释?但在下面的示例中,它确实将其解释为通配符(它与当前目录中的文件匹配):

$ seq 3 |  xargs -I*  echo * # no space between -I and *
main.py
main.py
main.py
Run Code Online (Sandbox Code Playgroud)

您能解释一下这背后的逻辑吗?

谢谢

bash wildcards

9
推荐指数
1
解决办法
1761
查看次数

标签 统计

bash ×1

wildcards ×1