如何讓你的腳本可以在任意地方都可執行?

大家好,我是良許。

我們知道,在 Linux 下寫完一個腳本,通常情況下我們需要到腳本所在的目錄,纔可以執行這個腳本。但是大家有沒注意到,像 lscdpwd 這樣的命令,它們的程序是位於 /bin 目錄下,但是我們卻可以在系統的任意位置都可以執行這些程序。

它們是怎麼做到的?

那是因爲這些命令對應的程序所在路徑被加到了 Path 環境變量裏。所以我們如果把自己的腳本路徑加到了這個變量裏,我們也可以實現在任意地方執行自己腳本的效果。

下面我們來介紹三種方法來達到這個目的。

方法1:將腳本所在路徑添加到 .bashrc 文件裏

我們知道,Bash 在運行起來之後,會先加載 .bashrc 文件。所以,我們可以把腳本路徑添加到 .bashrc 文件,然後就能達到目標。

假設,我現在腳本放在 /home/alvin/scripts 目錄下,腳本名稱是 hello.sh ,運行的結果就是打印一句 hello world

然後,我們再把下面這句代碼加到 .bashrc 最後:

export PATH="/home/alvin/scripts:$PATH"

最後,再使用 source 命令使我們的修改生效:

$ source ~/.bashrc

現在,我們就可以在任何地方使用我們自己的腳本啦~

方法2:將腳本所在路徑添加到 .profile 文件裏

.profile 文件是一個環境變量配置文件,用戶在登錄系統的時候加載此文件來配置環境變量。所以我們可以在這個文件裏添加我們的路徑,使得腳本在任意地方都可以使用。

我們可以在 .proflie 文件末尾加入下面這句代碼:

export PATH="$PATH:$HOME/scripts"

然後,我們需要退出終端再重新登錄使修改生效。

如果你使用 Ubuntu 及其衍生髮行版,那麼就需要修改 .pam_environment 文件,而不是 .profile 文件。同樣地,在該文件末尾加入這麼一句代碼:

PATH DEFAULT=${PATH}:/home/@{PAM_USER}/scripts

最後,同樣重新登錄使能修改。

這時,大家就可以在任何地方都可以執行你的腳本了。

2020 精選 阿里/騰訊等一線大廠 面試、簡歷、進階、電子書 公衆號「良許Linux」後臺回覆「資料」免費獲取

方法3:將腳本所在路徑添加到環境變量裏

這個方法大家應該都能想到,最簡單粗暴,直接改環境變量文件。該文件一般位於 /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一樣,需要將用戶登出再重新登錄即可,然後我們的目的就可以達成了。

小結

本文介紹三種不一樣的方法,使得我們自己寫的腳本在任何地方都可以直接使用。方法很簡單,但學會了會省不少時間!

看完的都是真愛,點個贊再走唄?您的「三連」就是良許持續創作的最大動力!

  1. 關注原創公衆號「良許Linux」,第一時間獲取最新Linux乾貨!
  2. 公衆號後臺回覆【資料】【面試】【簡歷】獲取精選一線大廠面試、自我提升、簡歷等資料。
  3. 關注我的博客:lxlinux.net
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章