Filenames

為什麼所有標準命令都包含一個 ASCII 字母?

  • May 11, 2018

儘管可以輕鬆地製作一個名為./42or的執行檔./カラオケ,但我發現沒有包含無字母命令的常見軟體包。例如,在 Ubuntu 上,apt-file find . | grep -i -e '/[^a-z/_\-]+$'報告每個執行檔的基本名稱至少有一個字母、下劃線或破折號。我發現的唯一無字母文件或目錄是不可執行的,通常是版本號:docbook/dtd/xml/4.1.2、、/usr/include/c++/4.8.2等。

是否有任何已發布的規則或標準限制命令的命名方式?或者這僅僅是文化習俗?

反例:[命令,你寫的時候用的那個if [ "$foo" = bar ]。它與 相同test,只是它需要最後一個]參數,並且是標準實用程序

是的,它是一個執行檔:

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

引用自:https://unix.stackexchange.com/questions/443258