ls 在 cron 作业期间给了我不同的排序顺序

Jim*_*ler 3 ls cron shell-script

我有一个 cron 工作,其中包括将目录的递归 ls 转换为文件。这与我创建的另一个文件进行了比较,该文件据称包含相同目录的相同列表。我的问题是,当我生成版本进行比较时,我得到的文件以不区分大小写的顺序列出。当 cron 作业运行时,它的列表以区分大小写的顺序出现。

我怎样才能让这两个都以同样的方式出现(我不在乎哪个)?我给 ls 的电话是 /bin/ls -lR --time-style=long-iso *; 据我所知, LC_COLLATE 未在任一设置中设置。

Hau*_*ing 6

可以通过明确强制应用程序使用特定排序顺序来避免排序问题。您可以通过运行locale而不是有问题的程序来检查当前语言环境,并比较不同调用情况的输出。

可以通过在命令行中设置LC_COLLATE/来强制排序顺序LC_ALL

LC_COLLATE=C ls ...
LC_ALL=C     ls ...
Run Code Online (Sandbox Code Playgroud)