第5章 使用Linux環境變數

2021-07-03 16:16:58 字數 1647 閱讀 4288

bash shell 用乙個稱作環境變數的特性儲存有關shell會話和工作環境的資訊。

這也是他們為什麼被稱作環境變數的原因,它允許你在記憶體中儲存資料,以便在執行在shell上的程式和指令碼訪問。

這也是儲存永久資料的一種簡便方法,這些資料可以使用來識別使用者賬戶、系統、shell的特性以及任何其他你需要儲存的資料。

p101

全域性環境變數和區域性環境變數。

全域性:哪都可見,在進入bash之前就已經存在了。 printenv 檢視全域性環境變數。

區域性:只有當前shell程序可見。

linux系統中,並沒有這樣乙個命令只顯示區域性環境變數。

set命令:會顯示為某個特定程序設定的所有環境變數。當然,也包括全域性環境變數。

設定環境變數

[root@localhost bin]# test=hellogood

[root@localhost bin]# echo $test

hellogood

警告:在環境變數名稱、等號和值之間沒有空格,這一點非常重要。

如果你在賦值表示式中放了空格,bash shell就會把值當做乙個單獨的命令。

在另乙個程序(包括子程序)中,是無法訪問的。

export :設定全域性環境變數: export test

刪除環境變數: unset test,在處理全域性環境變數時,如果你是在子程序裡面刪除了乙個全域性環境變數,它只對子程序有效。

有一些預設的shell環境變數。

path 變數同時顯示了shell查詢命令的順序。

修改path: $path:bin/..

登陸shell會從4個不同的啟動檔案裡讀取命令:

/etc/profile ho

me/.

bash

prof

ile home/.bash_login

$home/.profile

第乙個是主啟動檔案,系統上的每個使用者登陸都會執行這個啟動檔案,另外三個啟動檔案是使用者專有的,可以定製。

只要你登陸了linux系統,bash就會執行/etc/profile檔案中的命令。具體見 p115

互動式shell:

如果你的bash shell不是登入時啟動的(比如你在命令列提示符下敲入bash啟動),你啟動的shell稱作互動式的shell。不會去訪問/etc/profile的,而是去home目錄檢視.bashrc是否存在。

非互動式shell:系統執行shell指令碼時用的就是這種shell。你不用擔心它沒有命令列提示符,但當你每次在系統上執行時仍要執行特定的啟動命令。(沒讀懂)

支援陣列。但是不常用。

別名:alias -p

可以用alias 來建立自己的別名:

例如:alias li=『ls -il』

命令別名的行為和區域性變數差不多,他們通常只在定義他們的shell程序中有效。

$home/.bashrc 是命名別名的好地方,因為bash shell在啟動互動式shell時總是會讀取位於該地方的啟動檔案。

看到了 p122 檔案許可權

第1章 Linux設定環境變數

無意中發現了乙個很好的軟體測試 忍不住分享一下給大家。覺得很實用,所以分享給大家。點這裡可以跳轉到教程 bashshell使用一種稱為環境變數的特性來儲存關於shell會話和工作環境的資訊。該特性允許將資料儲存在記憶體中,以便於在shell中執行的程式或指令碼訪問它們。這是一種便捷的 用於儲存永續性...

使用Linux環境變數

環境變數 全域性變數 可作用於程序的所有子shell 區域性變數 部環境變數只能在定義它們的程序中可見 使用env或printenv可以檢視全域性變數,printenv命令加上變數名,可以顯示變數的值,或echo 變數名 在變數名之前加上ls不僅會顯示值還能讓變數作為命令列引數,set可以羅列出區域...

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

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