为什么所有标准命令都包含 ASCII 字母?

为什么所有标准命令都包含 ASCII 字母?

尽管可以轻松地创建一个名为./42或 的可执行文件./カラオケ,但我发现没有包含无字母命令的常见软件包。例如,在 Ubuntu 上,apt-file find . | grep -i -e '/[^a-z/_\-]+$'报告每个可执行文件的基本名称至少有一个字母、下划线或破折号。我发现的唯一无字母的文件或目录是不可执行的,通常是版本号:docbook/dtd/xml/4.1.2/usr/include/c++/4.8.2等。

是否有任何已发布的规则或标准限制命令的命名方式?或者这仅仅是文化习俗?

答案1

反例:[命令,您在编写if [ "$foo" = bar ].它与 相同test,只是它需要最后一个]参数,并且是标准实用程序

是的,它是一个可执行文件:

# ls -l "/usr/bin/["
-rwxr-xr-x 1 root root 51920 Mar  2  2017 /usr/bin/[

相关内容