有一个文件夹,里面有一堆文件和一个 perl 脚本,使用 ls 和通配符列出它们,例如:
#!/usr/bin/perl
system("ls -U -1 dir/*");
Run Code Online (Sandbox Code Playgroud)
我注意到,如果我从 bash 终端运行完全相同的命令,我会得到相同的结果,但它们的顺序不同。
为什么会这样?通配符在两种情况下的处理方式是否不同?
例子:
mkdir dir
touch dir/a_0 dir/a1_0
Run Code Online (Sandbox Code Playgroud)
终端输出:
dir/a_0
dir/a1_0
Run Code Online (Sandbox Code Playgroud)
perl 输出:
dir/a1_0
dir/a_0
Run Code Online (Sandbox Code Playgroud)