如何讓你的腳本可以在任意地方都可執(zhí)行?
我們知道,在 Linux 下寫(xiě)完一個(gè)腳本,通常情況下我們需要到腳本所在的目錄,才可以執(zhí)行這個(gè)腳本。但是大家有沒(méi)注意到,像 ls 、cd 、pwd 這樣的命令,它們的程序是位于 /bin 目錄下,但是我們卻可以在系統(tǒng)的任意位置都可以執(zhí)行這些程序。
它們是怎么做到的?
那是因?yàn)檫@些命令對(duì)應(yīng)的程序所在路徑被加到了 Path 環(huán)境變量里。所以我們?nèi)绻炎约旱哪_本路徑加到了這個(gè)變量里,我們也可以實(shí)現(xiàn)在任意地方執(zhí)行自己腳本的效果。
下面我們來(lái)介紹三種方法來(lái)達(dá)到這個(gè)目的。
方法1:將腳本所在路徑添加到 `.bashrc` 文件里
我們知道,Bash 在運(yùn)行起來(lái)之后,會(huì)先加載 .bashrc 文件。所以,我們可以把腳本路徑添加到 .bashrc 文件,然后就能達(dá)到目標(biāo)。
假設(shè),我現(xiàn)在腳本放在 /home/alvin/scripts 目錄下,腳本名稱是 hello.sh ,運(yùn)行的結(jié)果就是打印一句 hello world 。
然后,我們?cè)侔严旅孢@句代碼加到 .bashrc 最后:
- export PATH="/home/alvin/scripts:$PATH"
最后,再使用 source 命令使我們的修改生效:
- $ source ~/.bashrc
現(xiàn)在,我們就可以在任何地方使用我們自己的腳本啦~
方法2:將腳本所在路徑添加到 `.profile` 文件里
.profile 文件是一個(gè)環(huán)境變量配置文件,用戶在登錄系統(tǒng)的時(shí)候加載此文件來(lái)配置環(huán)境變量。所以我們可以在這個(gè)文件里添加我們的路徑,使得腳本在任意地方都可以使用。
我們可以在 .proflie 文件末尾加入下面這句代碼:
- export PATH="$PATH:$HOME/scripts"
然后,我們需要退出終端再重新登錄使修改生效。
如果你使用 Ubuntu 及其衍生發(fā)行版,那么就需要修改 .pam_environment 文件,而不是 .profile 文件。同樣地,在該文件末尾加入這么一句代碼:
- PATH DEFAULT=${PATH}:/home/@{PAM_USER}/scripts
最后,同樣重新登錄使能修改。
這時(shí),大家就可以在任何地方都可以執(zhí)行你的腳本了。
方法3:將腳本所在路徑添加到環(huán)境變量里
這個(gè)方法大家應(yīng)該都能想到,比較簡(jiǎn)單粗暴,直接改環(huán)境變量文件。該文件一般位于 /etc 目錄下,文件名是 environment 。
- sudo vim /etc/environment
我們找到文件里的這么一句配置:
- PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin"
我們只要在這句話后面再加上我們的腳本路徑即可。
- PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/alvin/scripts"
跟方法2一樣,需要將用戶登出再重新登錄即可,然后我們的目的就可以達(dá)成了。
小結(jié)
本文介紹三種不一樣的方法,使得我們自己寫(xiě)的腳本在任何地方都可以直接使用。方法很簡(jiǎn)單,但學(xué)會(huì)了會(huì)省不少時(shí)間!