在 bash 中观察以下示例命令:
jason@MacBook:~ mkdir temp
jason@MacBook:~ cd temp
jason@MacBook:~/temp touch file.txt
jason@MacBook:~/temp touch file1.txt
jason@MacBook:~/temp touch file2.txt
jason@MacBook:~/temp ls file*
file.txt file1.txt file2.txt
jason@MacBook:~/temp touch file0.txt
jason@MacBook:~/temp ls file*
file.txt file0.txt file1.txt file2.txt
jason@MacBook:~/temp touch fil.txt
jason@MacBook:~/temp ls fil*
fil.txt file.txt file0.txt file1.txt file2.txt
jason@MacBook:~/temp
从输出中可以看出,所有文件名都按字典升序排序。
我想知道这是否是 bash 的要求,或者它是否是特定于实现的,而它恰好在我的 Mac 的 bash shell 中以这种方式工作。我要问的原因是因为如果文件名存储在trie中并且事实证明 bash确实需要按字典顺序打印字符串,则需要在代码中进行少量调整才能遍历尝试按升序正确打印出文件名。