本篇內(nèi)容主要講解“Linux中Source命令的應(yīng)用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Linux中Source命令的應(yīng)用”吧!
成都創(chuàng)新互聯(lián)主要從事成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)安次,十年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220
source命令是一個(gè)內(nèi)置的shell命令,用于從當(dāng)前shell會(huì)話中的文件讀取和執(zhí)行命令。source命令通常用于保留、更改當(dāng)前shell中的環(huán)境變量。簡(jiǎn)而言之,source一個(gè)腳本,將會(huì)在當(dāng)前shell中運(yùn)行execute命令。
source命令可用于:
刷新當(dāng)前的shell環(huán)境
在當(dāng)前環(huán)境使用source執(zhí)行Shell腳本
從腳本中導(dǎo)入環(huán)境中一個(gè)Shell函數(shù)
從另一個(gè)Shell腳本中讀取變量
source命令它需要一個(gè)文件,如果提供了參數(shù),那么將用作傳遞腳本的位置參數(shù)。
source FILENAME [ARGUMENTS]
也可以使用.替代source命令:
. FILENAME [ARGUMENTS]
一. 刷新當(dāng)前的shell環(huán)境
可以在當(dāng)前的shell環(huán)境中定義一個(gè)別名。為ls -al定義一個(gè)別名為ll:
[root@localhost ~]# echo "alias ll='ls -al'" >> ~/.bashrc
在~/.bashrc文件中定義完別名,可以使用source命令刷新當(dāng)前shell環(huán)境:
[root@localhost ~]# source ~/.bashrc
現(xiàn)在可以使用ll別名列出當(dāng)前目錄里所有文件了,包括隱藏文件。
二. 在當(dāng)前環(huán)境使用source執(zhí)行Shell腳本
Shell腳本不知道你在當(dāng)前Shell環(huán)境中定義的變量。source命令可用于在當(dāng)前會(huì)話中執(zhí)行你的Shell腳本。
下面在定義一個(gè)變量:
[root@localhost ~]# website=https://www.linuxprobe.com
創(chuàng)建一個(gè)腳本:
[root@localhost ~]# vim web.sh #!/bin/bash echo $website
使用source在當(dāng)前shell會(huì)話中執(zhí)行它:
[root@localhost ~]# source web.sh https://www.linuxprobe.com
當(dāng)使用sh運(yùn)行腳本時(shí),找不到環(huán)境中定義的變量:
三. 從腳本中導(dǎo)入環(huán)境中一個(gè)Shell函數(shù)
首先創(chuàng)建一個(gè)腳本,定義一個(gè)函數(shù):
[root@localhost ~]# vim func.sh #!/bin/bash foo(){ echo "test function!" }
要在當(dāng)前的shell會(huì)話中導(dǎo)入上述腳本的功能,使用下面命令:
[root@localhost ~]# source func.sh
下面在終端中執(zhí)行以下func.sh腳本中的foo函數(shù)試試:
[root@localhost ~]# foo test function!
source完腳本之后,可以看到在當(dāng)前回話的終端中可以執(zhí)行腳本里面的函數(shù)。
四. 從另一個(gè)Shell腳本中讀取變量
首先創(chuàng)建帶有一些變量的shell腳本,請(qǐng)輸入:
[root@localhost ~]# vim var.sh #!/bin/bash a=1 b=2 c=3
再創(chuàng)建一個(gè)腳本,該腳本讀取上一個(gè)腳本var.sh中的變量:
[root@localhost ~]# vim read.sh #!/bin/bash source ~/var.sh echo $a echo $b echo $c
在腳本中首先使用source將var.sh中的變量到處到當(dāng)前回話,然后echo顯示變量值。下面執(zhí)行read.sh看一下:
五. 讀取并執(zhí)行命令
source命令可以從文件讀取和執(zhí)行命令。下面的一個(gè)文本文件中帶有兩個(gè)命令,使用source命令運(yùn)行該文件,看看是否會(huì)執(zhí)行里面的命令。
下面創(chuàng)建一個(gè)文件cmd.txt,保存兩個(gè)命令:
[root@localhost ~]# cat cmd.txt ip ad date
下面使用source執(zhí)行這個(gè)文件:
[root@localhost ~]# source cmd.txt
總 結(jié)
source命令在當(dāng)前shell中執(zhí)行腳本,而exec命令在新的shell中運(yùn)行。
到此,相信大家對(duì)“Linux中Source命令的應(yīng)用”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!