我在Red Hat Linux的终端上乱七八糟,当我输入星号(*
)并返回时,它执行了我目录中的程序之一。为什么?
我最好的猜测是,Unix将其视为通配符,因此它执行了第一个字母程序。由于my_program.exe
和one_of_my_programs.program
可以通过简单地键入文件名来执行,因此通配符运算符表示所有可能的文件。由于程序首先是按字母顺序排列的,因此Unix会执行它。这是正确的判断吗?
@aschepler:所有符合POSIX的外壳程序都必须;见pubs.opengroup.org/onlinepubs/9699919799/utilities/...第3
—
dave_thompson_085
*
按字母顺序对扩展名进行排序,但是bash就是这样做的。