linux中env,export, set的區別

2021-06-05 17:20:34 字數 748 閱讀 4258

unix shell的變數分類

在shell中有三種變數:內部變數,環境變數,使用者變數。

內部變數:系統提供,不用定義,不能修改

環境變數:系統提供,不用定義,可以修改,可以利用export將使用者變數轉為環境變數.

使用者變數:使用者定義,可以修改

(1)內部變數(系統變數,環境變數,引數變數,預定義變數)

內部變數是linux所提供的一種特殊型別的變數,這類變數在程式中用來作出判斷。在shell程式內這類變數的值是不能修改的。

表示方法     描述

$n     $1 表示第乙個引數,$2 表示第二個引數 ...

$#     命令列引數的個數

$0     當前程式的名稱

$?     前乙個命令或函式的返回碼

$*     以"引數1 引數2 ... " 形式儲存所有引數

$@     以"引數1" "引數2" ... 形式儲存所有引數

$$     本程式的(程序id號)pid

(2) 環境變數

linux環境(也稱為shell環境)由許多變數及這些變數的值組成,由這些變數和變數的值決定環境外觀。這些變數就是環境變數。

包括兩部分,一是,由系統設定的,主要包括: home,logname,mail,path,ps1,pwd,shell,term

二是,使用者在命令列中設定的,使用export命令,但是使用者登出時值將丟失

(3)使用者變數(私有變數,本地變數)

在命令列中自己設定的.

Linux中許可權

當你在linux下用命令ll 或者ls la的時候會看到這些字眼,這些字眼表示為不同使用者組的許可權 r read就是讀許可權 數字4表示 w write就是寫許可權 數字2表示 x excute就是執行許可權 數字1表示 讀 寫 執行三項許可權可以用數字表示,就是r 4,w 2,x 1。所以,rw...

Linux中控制代碼

1.控制代碼就是乙個識別符號,只要獲得物件的控制代碼,我們就可以對物件進行任意的操作。2.控制代碼不一定是指標。作業系統用控制代碼可以找到一塊記憶體,這個控制代碼可能是識別符號,例如map的key,也可能是指標,看作業系統怎麼處理的了。fd算是在某種程度上替代控制代碼吧 linux 有相應機制,但沒...

Linux中的時鐘概念Linux中的時鐘概念

linux的時鐘中斷中涉及至二個全域性變數乙個是xtime,另乙個則是jiffies。有乙個與時間有關的時鐘 實時時鐘 rtc 這是乙個硬體時鐘,用來持久存放系統時間,系統關閉後靠主機板上的微型電池保持計時。系統啟動時,核心 通過讀取rtc來初始化wall time,並存放在xtime變數中,即xt...