在 FreeDOS 中設(shè)置和使用環(huán)境變量
環(huán)境變量幾乎在每種命令行環(huán)境中都是很有幫助的,自然包括 FreeDOS 。
幾乎在每個(gè)命令行環(huán)境中的一個(gè)有用的功能是 環(huán)境變量。其中的一些變量允許你控制命令行的行為或功能,其它的變量?jī)H允許你存儲(chǔ)可能稍后需要的數(shù)據(jù),在 FreeDOS 中也使用了環(huán)境變量。
在 Linux 上的變量
在 Linux 上,你可能已經(jīng)熟悉其中的一些重要的環(huán)境變量。在 Linux 上的 Bash shell 中,PATH
變量標(biāo)示著 shell 可以在哪里找到程序和命令。例如,在我的 Linux 系統(tǒng)上,我的 PATH
值如下:
bash$ echo $PATH
/home/jhall/bin:/usr/lib64/ccache:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin
這意味著,當(dāng)我輸入一個(gè)像 cat
這樣的命令的名稱時(shí),Bash 將會(huì)按順序檢查我在 PATH
變量中所列出的每個(gè)目錄:
/home/jhall/bin
/usr/lib64/ccache
/usr/local/bin
/usr/local/sbin
/usr/bin
/usr/sbin
在我的實(shí)例中,cat
命令位于 /usr/bin
目錄,因此,完整的路徑是 /usr/bin/cat
。
為在 Linux 上設(shè)置一個(gè)環(huán)境變量,你可以輸入一個(gè)變量的名稱,接著輸入一個(gè)等于符號(hào)(=
),接著輸入一個(gè)要存儲(chǔ)在變量中的值。為了隨后使用 Bash 引用這個(gè)值,你需要在變量的名稱前輸入一個(gè)美元符號(hào)($
)。
bash$ var=Hello
bash$ echo $var
Hello
在 FreeDOS 上的變量
在 FreeDOS 上,環(huán)境變量提供一種類似的功能。一些變量控制 DOS 系統(tǒng)的行為,另一些變量用于存儲(chǔ)一些臨時(shí)值。
為在 FreeDOS 上設(shè)置一個(gè)環(huán)境變量,你需要使用 SET
關(guān)鍵字。FreeDOS 是 不區(qū)分大小寫(xiě)的 ,因此你可以輸入大寫(xiě)字母也可以使用小寫(xiě)字母。接下來(lái),像你在 Linux 上一樣設(shè)置變量,使用變量名稱,一個(gè)等于符號(hào)(=
),你想要存儲(chǔ)的值。
不過(guò),在 FreeDOS 中引用或 擴(kuò)展 一個(gè)環(huán)境變量的值的方法,與你在 Linux 上所使用的方法是完全不同的。在 FreeDOS 中,你不能使用美元符號(hào)($
)來(lái)引用一個(gè)變量。你反而需要使用百分符號(hào) (%
)來(lái)包圍變量的名稱。
Use % (not $) to reference a variable's value
在名稱前后使用百分符號(hào)是非常重要,因?yàn)檫@就是 FreeDOS 知悉變量名稱在哪里開(kāi)始和結(jié)束的方式。這是非常有用的,因?yàn)樗鼤?huì)允許你引用一個(gè)變量的值,與此同時(shí),它會(huì)立即附加(或預(yù)置)其它的文本到值中。讓我通過(guò)設(shè)置一個(gè)新的名稱為 reply
的值為 yes
的變量,然后在 “11” 之前和 “22” 之后引用這個(gè)值來(lái)演示這一點(diǎn):
Set and reference an environment variable
因?yàn)?FreeDOS 是不區(qū)分大小寫(xiě)的,所以你可以使用大寫(xiě)字母稱或小寫(xiě)字母的變量名稱以及 SET
關(guān)鍵字。不過(guò),變量的值將使用你在命令行中所輸入的字母。
最后,你可以看到當(dāng)前在 FreeDOS 中定義的所有的環(huán)境變量。不使用任何參數(shù)的 SET
關(guān)鍵字將顯示所有的變量,因此你可以一目了然:
Show all variables at once with SET
環(huán)境變量是一個(gè)有用的基本的命令行環(huán)境,同樣適用于 FreeDOS 。你可以設(shè)置你自己的變量以滿足你自己的需要,但是要仔細(xì)地更改 FreeDOS 使用的一些變量。這些變量會(huì)更改你正在運(yùn)行的 FreeDOS 系統(tǒng)的行為:
DOSDIR
:FreeDOS 安裝目錄的位置,通常是C:\FDOS
COMSPEC
:FreeDOS 的 shell 的當(dāng)前實(shí)例,通常是C:\COMMAND.COM
或%DOSDIR%\BIN\COMMAND.COM
LANG
:用戶的首選語(yǔ)言NLSPATH
:系統(tǒng)語(yǔ)言文件的位置,通常是%DOSDIR%\NLS
TZ
:系統(tǒng)的時(shí)區(qū)PATH
:一個(gè)目錄列表,F(xiàn)reeDOS 可以在其中找到要運(yùn)行的程序,例如%DOSDIR%\BIN
HELPPATH
:系統(tǒng)文檔文件的位置,通常是%DOSDIR%\HELP
TEMP
:一個(gè)臨時(shí)目錄,F(xiàn)reeDOS 在其中存儲(chǔ)來(lái)自每個(gè)命令的輸出,如同它在命令行上的程序之間的 “管道” 數(shù)據(jù)DIRCMD
:一個(gè)控制DIR
命令如何顯示文件和目錄的變量,通常設(shè)置/OGNE
來(lái)排序(O
)內(nèi)容,先通過(guò)分組(G
)目錄,接下來(lái)按照名稱(N
) 、擴(kuò)展名(E
)來(lái)排序條目
如果你偶然間更改了任意的 FreeDOS 的 “內(nèi)部” 變量,你可能會(huì)阻礙 FreeDOS 的一些部分的正常工作。在這種情況下,只需要簡(jiǎn)單地重新啟動(dòng)你的計(jì)算機(jī),F(xiàn)reeDOS 將會(huì)按照系統(tǒng)默認(rèn)值重新設(shè)置變量。