因为无法在 2 和 q 之间按词法排列字符,所以它会忽略 -d 选项后面的位吗?
答案1
Yes 字符可以按词法排列在 2 和 q 之间。执行操作ls /bin
,您会看到数字位于字母之前。事实上,您可以ls /bin/[2-q]*
亲眼看看会发生什么。
“C”语言环境中的词法排序是按 ASCII 值进行的,因此“2”是十进制的 32,“q”是 71。执行 aman ascii
查看整个 ASCII 表。
也许您想问如果您做指定非法的字典范围?你可以尝试:
% ls /bin/[q-2]*
ls: 无法访问 /bin/[q-2]*: 没有这样的文件或目录
当然,您的 shell 正在扩展该模式(也称为“文件名 GLOB 扩展”),因此您看到的错误可能取决于您的 shell 和 shell 选项。在我的例子中,我使用zsh
并设置了zsh
选项来传递不能直接通过 GLOB 扩展到正在调用的命令的模式,而不是生成会中止命令执行的 shell 错误。