Filenames
為什麼所有標準命令都包含一個 ASCII 字母?
儘管可以輕鬆地製作一個名為
./42
or的執行檔./カラオケ
,但我發現沒有包含無字母命令的常見軟體包。例如,在 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/[