内侧容器LS排序顺序

问题描述 投票:0回答:1

运行ls -d列出目录,打印目录,在不同的顺序,如果尾随/存在于文件名。这是为什么?什么排序规则?为什么会发生这种情况只与码头工人?

尾随/

$ docker run --rm ubuntu:16.04 /bin/bash -c "mkdir foo ; mkdir foo-bar ; ls -d foo/ foo-bar/"

foo-bar/
foo/

没有尾随/

$ docker run --rm -it ubuntu:16.04 /bin/bash -c "mkdir foo ; mkdir foo-bar ; ls -d foo foo-bar"

foo
foo-bar
linux bash docker ls
1个回答
1
投票

我发现我使用sort命令获得相同的行为

docker run --rm ubuntu:16.04 /bin/bash -c "echo -e 'foo/\nfoo-bar/' | sort"

但是,排序顺序使用sort -d变化时

docker run --rm ubuntu:16.04 /bin/bash -c "echo -e 'foo/\nfoo-bar/' | sort -d"

感谢David指着我在正确的方向,这是由区域设置描述here引起

在裸露的ubuntu容器,POSIX区域使用具有不同的排序规则,那么EN_US。我在泊坞窗图像中安装en_US区域,并且有望再次整理工程解决我的问题。

© www.soinside.com 2019 - 2024. All rights reserved.