1. 程式人生 > >關於linux的export命令和shell變數的生命週期,環境變數

關於linux的export命令和shell變數的生命週期,環境變數

[-fnp][變數名稱]=[變數設定值]

補充說明:在shell中執行程式時,shell會提供一組環境變數。export可新增,修改或刪除環境變數,供後續執行的程式使用。export的效力僅及於該此登陸操作。

參  數:
 -f  代表[變數名稱]中為函式名稱。 
 -n  刪除指定的變數。變數實際上並未刪除,只是不會輸出到後續指令的執行環境中。 
 -p  列出所有的shell賦予程式的環境變數。

在shell中輸入export可以輸出當前的變數。也可以通過
export TARGET=arm-linux-這樣的命令設定環境變數,
export PATH=$PATH:/.../bin。

當執行一個指令碼時,新開了一個子shell,繼承父shell中的環境
變數,但是在子shell中定義的變數是不能被帶回到父shell中。

/etc/environment
是設定整個系統的環境,而/etc/profile是設定所有使用者的環境,前者與登入使用者無關,後者與登入使用者有關。

如果同一個變數在使用者環境(/etc/profile)和系統環境(/etc/environment)有不同的值那應該是以使用者環境為準了。

另外設定環境變數可以在/etc/profile中,區別如下:

/etc/profile:此檔案為系統的每個使用者設定環境資訊,當用戶第一次登入時,該檔案被執行.
並從/etc/profile.d目錄的配置檔案中搜集shell的設定.
/etc/bashrc:為每一個執行bashshell的使用者執行此檔案.當bash shell被開啟時,該檔案被讀取.
~/.bash_profile:
每個使用者都可使用該檔案輸入專用於自己使用的shell資訊,當用戶登入時,該
檔案僅僅執行一次!預設情況下,他設定一些環境變數,執行使用者的.bashrc檔案.
~/.bashrc:該檔案包含專用於你的bashshell的bash資訊,當登入時以及每次開啟新的shell時,該
該檔案被讀取.
~/.bash_logout:當每次退出系統(退出bashshell)時,執行該檔案. 

另外,/etc/profile中設定的變數(全域性)的可以作用於任何使用者,而~/.bashrc等中設定的變數(區域性)只能繼承/etc/profile中的變數,他們是"父子"關係.
 
~/.bash_profile 是互動式、login 方式進入 bash 執行的
~/.bashrc 是互動式 non-login 方式進入 bash 執行的
通常二者設定大致相同,所以通常前者會呼叫後者。

相關推薦

關於linux的export命令shell變數生命週期環境變數

[-fnp][變數名稱]=[變數設定值]補充說明:在shell中執行程式時,shell會提供一組環境變數。export可新增,修改或刪除環境變數,供後續執行的程式使用。export的效力僅及於該此登陸操作。參  數:  -f  代表[變數名稱]中為函式名稱。   -n  刪除指定的變數。變數實際上並未刪除,只

關於linux的export命令shell變數生命週期環境

原文來自:http://www.cppblog.com/mydriverc/archive/2009/09/16/96476.html export:將自定義變數設定為系統環境變數(當前shell中有效) 功能說明:設定或顯示環境變數。 語  法:export  [-

[轉載] Linux export變數生命週期shell生命週期相同shell指令碼執行完畢後相應的export變數便失效了

說說shell指令碼中的export 和 source,bash 小弟剛剛接觸linux,對linux上的很多東西都比較陌生,所以寫一寫部落格,當做自己工作的總結和技術的積累吧,也是鞭策自己不斷努力的去學習。 今天之所以起這個標題,把export,source ,bash這三個命令放在一起講

當一個類被載入後它的靜態變數生命週期是什麼是整個應用程式執行結束(比如java web程式從類載入到伺服器關閉還是該執行緒執行完畢)還是別的什麼?

靜態變數在記憶體中只有一個,JAVA虛擬機器載入類的時候為其分配記憶體,位於方法區,被類的所有例項共享,其生命週期取決於類的生命週期。。。當類被解除安裝。。。靜態變數也被銷燬 取決於類載入器。如果換了一個類載入器,這個

sessioncookie的區別聯絡session的生命週期多個服務部署時session管理

Session和Cookie的區別 物件 資訊量大小 儲存時間 應用範圍 儲存位置 Session 小量,簡單的資料 使用者活動時間+一段延遲時間(一般為20分鐘) 單個使用者 伺服器端 Cookie 小量,簡單的資料 可以根據需要設定 單個使用者 客戶端 1.1 Sess

說出Servlet的生命週期並說出ServletCGI的區別

Servlet被伺服器例項化後容器執行其init方法請求到達時執行其service方法service方法自動派遣執行與請求對應的doXXX方法(doGet,doPost)等,當伺服器決定將例項銷燬的時候呼叫其destroy方法。與cgi的區別在於servlet處於伺服器程序中

件工程之軟體生命週期建模目標實質建模四原則。

一、傳統軟體工程的生命週期: 1.需求分析階段(Requirements Capture)2.系統分析與設計(System Analysis and Design)3.系統實現階段(Implementation) 4.測試階段(Testing) 5.維護階段(Maintenance) 二、建模的目標及實質:

一圖瞭解View的生命週期自定義viewinvalidate()requestLayout()呼叫

Android中View的生命週期,呼叫invalidate()和requestLayout()會觸發哪些方法,一圖道破天機。 該圖確實一看就非常清晰、讓人簡單的瞭解View的生命週期,也可以幫助

變數生命週期堆疊細節

今天在書中看到物件的存活時間這個概念,意識到平時只是碼程式碼,一直忽視了基礎,連基本的的東西都分不清了。。。 變數分為區域性變數,以及例項變數,再來一個引用變數吧 例項變數是在類中定義的,也可稱為全域

shell變數環境變數配置檔案shell特殊符號cut命令sort_wc_uniq命令tee_tr_split命令shell特殊符號

shell變數 使用 env 命令可以檢視系統變數的資訊 下面大寫字母的變數名稱就是系統的變數 變數的值可能是 數字 也可能

【Spring註解驅動開發】使用InitializingBeanDisposableBean來管理bean的生命週期你真的瞭解嗎?

## 寫在前面 > 在《[【Spring註解驅動開發】如何使用@Bean註解指定初始化和銷燬的方法?看這一篇就夠了!!](https://mp.weixin.qq.com/s?__biz=Mzg3MzE1NTIzNA==&mid=2247484985&idx=1&sn=bf7e

關於requestsession的生命週期

我們都知道jsp中傳值 會涉及到 request,session,application這三個容器。 當我們想做一些快取或者儲存一些全域性變數時,就要考慮到它們的生命週期。 我們也有會疑惑一臺計算機上開啟同一WEB應用是否只產生一個session? 我們可以做對比了解: applicat

Linux常用命令Shell程式設計基礎

目錄相關 cd - .與.. 分別表示當前目錄和父目錄 - ~與$HOME 都是指當前使用者的主目錄 - cd – 切換到上一次所在的目錄(不一定是父目錄) pwd - pwd 顯示當前目錄 - $PWD與$OLDPWD 兩個變量表示當前目錄和上一次所在的目錄 ls - ls -rtl 檢視

vue生命週期鉤子函式

vue生命週期簡介和鉤子函式 一、vue生命週期簡介 咱們從上圖可以很明顯的看出現在vue2.0都包括了哪些生命週期的函數了,總結一下,對官方文件的那張圖簡化一下,就得到了這張圖。 二、生命週期探究 對於執行順序和什麼時候執行,看上面圖基本有個瞭解了。下面我們將結

Android核心技術-day06-05-Activity生命週期應用場景

package com.gaozewen.lifecycle; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import an

活動2(生命週期啟動模式)

一.活動的生命週期 為了在活動生命週期的各個階段之間導航轉換,Activity類提供了六個回撥的核心方法:onCreate(),onStart(),onResume(),onPause(),onStop()和onDestroy()。當活動進入新狀態時,系統會呼叫每個回撥。 完整的生命週

Filter過濾器(如何建立生命週期執行流程)

Filter過濾器是什麼??        開發人員可以實現使用者在訪問某個目標資源之前,對訪問的請求和響應進行攔截。簡單說,就是可以實現web容器對某資源的訪問前截獲進行相關的處理,還可以在某資源向web容器返回響應前進行截獲進行處理。 過濾器就

C語言中的生命週期作用域預設值記憶體區域連結屬性

1、全域性變數:定義在函式外部的變數 生命週期:從程式執行開始建立,程式退出銷燬; 作用域:從定義該變數開始一直到檔案的結束; 預設值:0; 記憶體區域:全域性(靜態)變數區; 連結屬性:外部(可以在其他檔案中引用)。 注意:全域性變數只需在一個原始檔中定義,就可以作用

ServletContext、ServletRequestHttpSession的生命週期

學習web的Listener監聽器的時,監聽域物件建立的監聽器。通過監聽器重新分析著三個物件的生命週期,清晰明瞭。 首先域物件的監聽器有三個ServletContextListene、ServletRequestListene和HttpSessionListene 實現三個介面,每個介面有兩個方法,建立方

【WEB 三大核心 Servlet Filter Listener 的生命週期 執行流程 】

1. Servlet 的 生命週期 和 執行流程 1.1 Servlet 的執行流程 1. 客戶端傳送請求 (以 GET 或者 Post 方式傳送請求 ) 超連結 : <a href="servl