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