Linux環境變數

2022-07-03 20:39:09 字數 1408 閱讀 9518

使用者登陸linux作業系統的時候,"/etc/profile", "~/.bash_profile"等配置檔案會被自動執行。

執行過程是這樣的:

登陸linux系統時,首先啟動"/etc/profile",

然後啟動使用者目錄下的"~/.bash_profile",

如果"~/.bash_login"和"~/.profile"檔案存在的時候也會在執行。

下面看看"~/.bash_profile"檔案裡面有什麼東西

$cat ~/.bash_profile

#.bash_profile

#get the aliases and functions

if [ -f ~/.bashrc ]; then

. ~/.bashrcfi#

user specific environment and startup programs

path=$path:$home/bin:/home/work/local/python/lib/python2.6/site-packages/django/bin/:$home/bin:/home/work/local/mysql5/bin/;

ld_library_path=/home/work/local/mysql5/lib/mysql

alias py='/home/work/local/python/bin/python'

export path ld_library_path

unset username

可以看到~/.bash_profile檔案先呼叫~/.bashrc,然後再把path和ld_library_path載入。

/etc/profile是全域性性的功能,其中設定的變數作用於所有使用者,~/.bash_profile中設定的變數能繼承/etc/profile中的變數並作用於使用者。

通常二者設定大致相同,所以通常前者會呼叫後者。

大家都知道crontab是個好東東,可以定時執行一些任務,幫助你監控系統狀況,幫助你每天重複的做一些機械的事情。但是crontab有乙個壞毛病,就是它總是不會預設的從使用者profile檔案中讀取環境變數引數,經常導致在手工執行某個指令碼時是成功的,但是到crontab中試圖讓它定期執行時就是會出錯

一般crontab無法執行的問題都是由環境變數在crontab中不一定可識別引起的。

在執行crontab的時候,是non_login方式呼叫程式的,此時~/.bash_profile並不會被提前呼叫。所以,crontab的執行環境相對於login方式進入bash執行的環境來說小得多。如果程式涉及~/.bash_profile使用的環境變數,那麼,部分在login方式可以正常執行的程式在crontab下就無法執行。

30 12 * * * source ~/.bashrc && cd /home/work/mydir && ./myproj

linux環境程式設計 環境變數 列印環境變數

在shell程式設計主題中,我們已經大致的介紹過 環境變數和本地變數啦 我們今天來具體的介紹介紹,那環境變數到底是什麼呢?是我 一.環境變數含義 特徵 環境變數是指 作業系統中用來指定作業系統執行環境的一下引數 1 特徵 字串 有統一的格式 名 值 值 值用來描述程序的環境資訊 2 使用形式 與命令...

linux環境變數

初次學習lliux對環境變數的知識甚是不解決,特花費乙個上午的時間總結了一下,可以說是全面!如各位有更加詳細的見解不妨告知!定製環境變數 環境變數是和shell緊密相關的,使用者登入系統後就啟動了乙個shell。對於linux來說一般是bash,但也可以重新設定或切換到其它的 shell。環境變數是...

Linux環境變數

好吧,我承認這篇文章是轉的.1.顯示環境變數home echo home home redbooks 2.設定乙個新的環境變數hello export hello hello echo hello hello 3.使用env命令顯示所有的環境變數 env hostname redbooks.safe...