(轉)在Linux里設置用戶環境變量的方法


背景:在linux下,root用戶安裝完jdk后,非root用戶不能使用java環境變量。

問題排查:

通過在root和非root用戶下分別執行echo $PATH 可以觀察環境變量的異同。然后將需要的環境變量加入到非root用戶中

1 介紹

在 linux 里設置環境變量的方法 ( export PATH )
如果使用源碼包安裝的軟件,在安裝完成后一般情況下要設置該軟件命令執行的路徑,那就是 PATH 變量。如何來設置 PAHT變量呢?我們又三種方法實現
例如:壓力測試工具sysbench的命令目錄為:/usr/local/sysbench/bin,想要將sysbench工具加入到系統環境變量里,使在root用戶下,可以直接執行sysbench命令。

1.1直接使用 export 命令

# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

# export PATH=$PATH:/usr/local/sysbench/bin

 

# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/sysbench/bin

注意: 直接使用 export 設置的變量都是臨時變量,也就是說退出當前的 shell ,為該變量定義的值便不會生效了。如何能讓我們定義的變量永久生效呢?那就看我們的第二種定義的方式
ps:臨時的變量 不推薦

1.2 修改 /etc/profile

# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

# vi /etc/profile
export PATH=$PATH:/usr/local/sysbench/bin  # 在配置文件中加入此行配置
需要注意的是:修改完這個文件必須要使用 以下命令在不用重啟系統的情況下使修改的內容生效
# source /etc/profile
或者是:
# . /etc/profile
 
# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/sysbench/bin
# 配置已經生效

 

注意:修改 /etc/profile下雖然可以使環境變量永久生效,但在系統重啟時,可能不再讀取/etc/profile文件中的內容,需要在執行 "source /etc/profile"之后才能使環境變量生效;

為了避免重啟后環境變量不生效的問題,也可以在/etc/profile.d/目錄下簡歷一個path.sh的文件,將export命令寫入其中,這樣每次系統重啟時,都會自動讀取文件內容,使環境變量生效。

1.3修改 .bashrc 文件是在當前用戶 shell 下生效

# vi /root/.bashrc 在里面加入:
export PATH=$PATH:/usr/local/mysql/bin
修改這個文件之后同樣也需要使用 source 或者是 . 使配置文件生效。
再來使用 echo $PATH看下變量是否生效

# echo $PATH

 

以上是將一個工具命令加入到root用戶下的環境變量中,對於非root用戶,一般采用第二種方法,在進行 su - 命令切換時,自動讀取 ~/bash_profile文件中的環境變量內容,就可以直接使用相關工具的命令了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM