Bash - 简单问号(?)的含义

2023-11-29

我正在尝试一些 bash 功能,当我尝试回显一些输出时,我注意到,

echo what about in some more complex example ?

结果是

在一些更复杂的例子中怎么样\

我知道转义问号或整行引号可以解决问题,但我很好奇为什么会发生这种情况。

所以我的两个问题是:

  1. bash 中简单问号的含义是什么(例如我知道“$?”特殊参数和正则表达式用法)?
  2. 我想这是一个 bash 环境变量或一些变量之王。如何检查变量?例如,可以使用以下命令检查命令type关键字,即type cd

在这种情况下,它的作用是glob图案。如果当前工作目录中存在具有单字符名称的文件,则 shell 会将不带引号的问号扩展为其名称。

$ echo ? \? '?' "?"
? ? ? ?
$ touch a b c
$ echo ? \? '?' "?"
a b c ? ? ?

相似地,??扩展为两个字符的文件名,??*长度超过一个字符的文件名,以及??[ab]以三个字符结尾的文件名a or a b, etc.

See 文件名扩展了解更多信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Bash - 简单问号(?)的含义 的相关文章