小编Lui*_*uis的帖子

为什么在终端或 perl 中使用时通配符结果的顺序可能不同?

有一个文件夹,里面有一堆文件和一个 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)

shell perl wildcards

2
推荐指数
1
解决办法
147
查看次数

标签 统计

perl ×1

shell ×1

wildcards ×1