Bash

我們應該將 Bash 特殊參數稱為“環境常量”嗎?

  • May 3, 2020

在閱讀了這里這里之後,我得出了結論,Bash 中所謂的“特殊參數”與環境變數非常相似,但主要區別在於我們不應該重新分配特殊參數 - 否則我們可以沒有的東西環境變數的限制(但要非常小心)。

因此,這是我的問題:

我們是否應該將 Bash 特殊參數稱為“環境常量”(至少是隱喻)?

沒有。“環境”有一個特定的含義,指的是一組傳遞給子程序的變數,此時這些變數儲存在它們的程序空間中。將其他變數稱為“環境”會產生誤導和不准確。

它們實際上不是常量,因為您可以使用set命令修改它們,例如:

user@ehost:~$ set x y z
user@ehost:~$ echo $1 $2 $3
x y z

它們是參數,因為它們是在呼叫 shell 時傳入的。

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