Unix系統中的dot命令的使用方法詳解

佚名發表於2020-07-12

Unix中的dot命令

dot 命令語法: . 外部命令

將外部命令放在當前程序(而不是子程序)環境中執行(類似c語言中的 #include語句),並繼承當前程序(shell)的所有變數。

例1:命令dot

指令碼檔案bye ,只含一條語句:

exit

作為外部命令執行:

$ chmod u + x bye
 
$ ./bye --- 子程序因執行exit命令而死亡
 
$ _ --- 當前程序仍在,沒有退出UNIX

使用dot 命令,作為內部命令執行:

$ . ./bye --- 當前程序因執行exit命令而死亡
 
UNIX System V Release 4.0
 
login:_ --- 退出了UNIX

外部命令不能修改當前(父)程序的環境變數,使用dot 命令可以使新命令修改當前程序的環境變數。

例2:用dot命令修改當前程序的環境變數

以下是檔案classic_set (當前目錄下)的內容:

version=classic

PATH=/usr/local/old_bin:/usr/bin:/bin:. -- PATH包含了當前目錄 ‘.’

PS1=“classic>”

以下是檔案latest_set (當前目錄下)的內容:

version= latest

PATH=/usr/local/new_bin:/usr/bin:/bin:.

PS1=“latest >”

用dot 命令執行這兩個shell指令碼:

$ . ./classic_set --- dot 命令,需要指出當前目錄 ./
 
classic> echo $version --- 環境變數PS1(提示符)被改為classic
 
classic -- PATH包含了當前目錄 ‘.’
 
classic> . latest_set --- dot 命令, 不需要指出當前目錄./
 
latest > echo $version ---環境變數PS1 (提示符)被改為latest
 
latest 
 
latest >
 
$ . .profile

dot命令在當前shell中執行初始化檔案.profile。區域性和全域性變數都將在當前shell中重新定義。dot命令可以免去必須先登出再重新登入回來的麻煩。

相關文章