首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Unix:如果我输入ls -d [2-q]*会发生什么?

Unix:如果我输入ls -d [2-q]*会发生什么?
EN

Unix & Linux用户
提问于 2014-09-29 19:13:32
回答 1查看 129关注 0票数 0

它会忽略-d选项后的位,因为你不能在2和q之间按词汇排列字符吗?

EN

回答 1

Unix & Linux用户

发布于 2014-09-29 19:36:41

是的,字符可以排列在2和q之间。做一个ls /bin,你会看到数字出现在字母之前。实际上,您可以做ls /bin/[2-q]*并亲自查看发生了什么。

"C“语言环境中的词法排序是通过ASCII值进行的,因此'2‘是小数点32,'q’是71。执行一个man ascii来查看整个ASCII表。

也许你是想问,如果你指定了一个非法的词汇范围,会发生什么?你可以试试:

%1!/bin/q-2* ls:无法访问/bin/q-2*:没有这样的文件或目录

当然,您的shell正在扩展该模式(也称为"filename扩展“),因此您看到的错误可能取决于您的shell和shell选项。在我的例子中,我使用了zsh,并设置了zsh选项来传递不能直接扩展到正在调用的命令的模式,而不是生成一个会中止命令执行的shell错误。

票数 3
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/158279

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档