Unix系統(tǒng)中的dot命令的使用方法詳解

2020-07-12 19:26:16 來源:互聯(lián)網(wǎng)作者:佚名 人氣: 次閱讀 1 條評論

今天小編將為大家?guī)淼氖荱nix中的dot命令詳解!希望對大家會有幫助!有需要的朋友一起去看看吧...

Unix中的dot命令

dot 命令語法: . 外部命令

將外部命令放在當前進程(而不是子進程)環(huán)境中運行(類似c語言中的 #include語句),并繼承當前進程(shell)的所有變量。

例1:命令dot

腳本文件bye ,只含一條語句:

exit

作為外部命令執(zhí)行:

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

使用dot 命令,作為內(nèi)部命令執(zhí)行:

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

外部命令不能修改當前(父)進程的環(huán)境變量,使用dot 命令可以使新命令修改當前進程的環(huán)境變量。

例2:用dot命令修改當前進程的環(huán)境變量

以下是文件classic_set (當前目錄下)的內(nèi)容:

version=classic

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

PS1=“classic>”

以下是文件latest_set (當前目錄下)的內(nèi)容:

version= latest

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

PS1=“latest >”

用dot 命令執(zhí)行這兩個shell腳本:

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

dot命令在當前shell中執(zhí)行初始化文件.profile。局部和全局變量都將在當前shell中重新定義。dot命令可以免去必須先注銷再重新登錄回來的麻煩。