Regex 为什么命令grep在使用asterisc通配符时不起作用*

Regex 为什么命令grep在使用asterisc通配符时不起作用*,regex,bash,ubuntu,unix,grep,Regex,Bash,Ubuntu,Unix,Grep,我有这个文件夹: Folder ├── stu1 ├── foo └── student9 当我执行这个命令时 ls |grep s* 结果是 student9 我在等stu1,学生9 为什么会发生这种情况?shell解释*。您可以用引号将其括起来,以便将其从shell中“屏蔽”出来,并将其传递给grep: $ ls | grep "s*" 我认为OP混淆了glob和regex,grep“s*”应该是grep's'或grep'^s'

我有这个文件夹:

Folder
    ├── stu1
    ├── foo
    └── student9
当我执行这个命令时

ls |grep s*
结果是

student9
我在等stu1,学生9


为什么会发生这种情况?

shell解释
*
。您可以用引号将其括起来,以便将其从shell中“屏蔽”出来,并将其传递给
grep

$ ls | grep "s*"

我认为OP混淆了glob和regex,
grep“s*”
应该是
grep's'
grep'^s'