shell中的變數

2021-10-06 12:32:08 字數 1944 閱讀 4577

在程式設計中,我們總有一些資料需要臨時存放在記憶體中,以待後續使用時快速讀出,內存在系統啟動的時候被按照1b乙個單位(16進製制編碼),並對記憶體的使用情況做記錄,儲存在記憶體跟蹤表中。

計算機的單位:

1b = 8bit

1kb = 1024b

1mb = 2014kb

1gb = 1024mb

1tb = 1024gb

1pb  = 1024tb

....

變數:變數是程式設計中最常用的一種臨時在記憶體中訪問資料的一種方式

1)記憶體占用:如果存的是乙個字元則占用1個字元,如果存的是字串則是字串的長度加上乙個位元組的長度(\0是乙個特殊字元,代表字串結束)。

2)變數名與記憶體的關係:計算機中會將對應的記憶體空間和變數名繫結在一起,此時代表這段記憶體空間已經被程式占用,其他程式不可用,然後將變數名對應的值存在對應記憶體位址的空間裡面。

理解變數儲存:string1 = "abc"

1) string1(邏輯位址) <==> 0x5...0x8(實體地址)      儲存資料 abc

string1是給人看的,方便記憶;0x5...0x8是記憶體實體地址,是計算機定址的依據

2) 對於人來說string1上存的資料是abc,對於計算機來說資料是存在實體地址上的

3)在建立變數的時候計算機自動將邏輯位址(變數名)和實體地址做了對應。

變數讀出

1)當呼叫string1的時候,計算機會根據對應關係,找到實體地址;

2)定位記憶體位址,讀出資料並返回。

1. 本地變數:使用者私有變數,只有本使用者可以使用,儲存在家目錄下的.bash_profile、.bashrc檔案下

2. 全域性變數:所有使用者都可以使用,儲存在/etc/profile、/etc/bashrc檔案中

3. 使用者自定義變數:使用者自定義,比如指令碼中的變數

變數格式:變數名=值

在shell程式設計中變數名與等號之間不能有空格。

1> 變數名命名規則:

1. 變數名只能使用英文本母、陣列和下劃線。首個字元不能以數字開頭

2. 中間不能有空格,可以使用下劃線

3. 中間不能有標點符號

4. 不是使用bash裡面的關鍵字(可以使用help命令檢視保留關鍵字)

注意:字串要用單引號或者雙引號引起來。

變數賦值:

注意:以上這種方法設定為本地變數。

2> 讀取變數內容

讀取變數內容的符號:$

讀取方法:$變數名

3> 取消變數 unset

4> 定義全域性變數 export

上述設定的變數其實都是一次性變數,系統重啟之後就會丟失,如果希望本地變數或者全域性變數可以永久使用,可以將需要設定的變數寫入變數檔案中即可。

5> 定義永久變數

本地變數:使用者私有變數,只有本使用者可以使用,儲存在家目錄下的.bash_profile、.bashrc檔案中

全域性變數:所有使用者都可以使用,儲存在/etc/profile、/etc/bashrc檔案中

本地變數:

全域性變數:

shell中的變數

只寫了部分常用變數 2018.5.14 環境變數 隨不同環境變化 user pwd path pid root 下 user root quguanwen下 user quguanwen 預定義變數 命令返回值檢視狀態 列出所有位置變數的值 一共載入多少位置變數 位置變數 1 2 3 x 執行指令碼...

shell中的變數

echo 123 passwd stdin yee 一次性給使用者加密碼 變數的定義 變數即在程式執行過程中它的值是允許改變的量 變數是用一串固定的字元來標示不固定的值的一種方法 變數是一種使用方便的佔位符,用於引用計算機記憶體位址,該地 址可以儲存 script 執行時可更改的程式資訊 在 she...

shell中的變數

變數名的規範 字元的轉譯及變數的宣告 變數值的傳遞 read 命令的別名 用命令結果做變數 函式變數與環境 etc bashrc shell的配置環境 etc profile 使用者環境 env 檢視環境中所有變數變數即在程式執行過程中它的值是允許改變的量 變數是用一串固定的字元來標示不固定的值的一...