* 在 bash 命令行中如何解释?

* 在 bash 命令行中如何解释?

如果我们在终端中输入类似的内容,会输出什么

/主页/用户/一些带 * 的字符

例如

/home/renga/i*

home/renga/i*我在脚本中传递了一个像这样的变量 ( ),在运行时,该值与文件名一起传递,而不是与/home/renga/i*.

答案1

是的,*称为“通配符”,它主要用作代表一个或多个字符的符号。

考虑你的例子(添加了我的命令):

ls /home/renga/i*

目录/home/renga是这样的

internal
inspiration
auth
unknown
liar
i*

因此你的命令将给出如下输出:

/home/renga/internal
/home/renga/inspiration
/home/renga/i*

如果要访问i*目录或文件,则需要\在命令中添加反斜杠 , ,因此命令类似于这样ls /home/renga/i\*,输出将列出i*文件或目录的内容i*

您还可以使用引号来避免匹配文件名。所以它会是这样的:

ls /home/renga/"i*"

您可以阅读有关通配符的更多信息这里

相关内容