Bash
我們應該將 Bash 特殊參數稱為“環境常量”嗎?
在閱讀了這里和這里之後,我得出了結論,Bash 中所謂的“特殊參數”與環境變數非常相似,但主要區別在於我們不應該重新分配特殊參數 - 否則我們可以沒有的東西環境變數的限制(但要非常小心)。
因此,這是我的問題:
我們是否應該將 Bash 特殊參數稱為“環境常量”(至少是隱喻)?
沒有。“環境”有一個特定的含義,指的是一組傳遞給子程序的變數,此時這些變數儲存在它們的程序空間中。將其他變數稱為“環境”會產生誤導和不准確。
它們實際上不是常量,因為您可以使用
set
命令修改它們,例如:user@ehost:~$ set x y z user@ehost:~$ echo $1 $2 $3 x y z
它們是參數,因為它們是在呼叫 shell 時傳入的。