導航:首頁 > 程序命令 > shell命令中使用變數

shell命令中使用變數

發布時間:2023-08-22 19:08:14

Ⅰ Shell之環境變數、局部變數

變數可分為兩類:

環境變數又被稱為全局變數,可以在創建的shell以及任意子進程shell中使用。局部變數只能在創建的shell腳本中使用。

環境變數用於定義Shell的運行環境,保證Shell命令的正確執行,Shell通過環境變數來確定登錄的用戶名、登錄目錄等。所有的環境變數都是系統的全局變數,可用於所有的子進程中。

環境變數可以在命令行中設置,但用戶退出後這些變數值也會隨之丟失,所以最好在下面的文件或者目錄中配置,每次用戶登錄都將會被初始化:

環境變數可用在任意的Shell進程中,環境變數名一般大寫,並且是已經使用export內置命令進行了導出。比如HOME、PATH、UID、USER等,在用戶登陸之前已經本/bin/login程序設置好了。

下面是常見的系統環境變數:

更多詳情請通過env命令查看:

如果設置想自己設置環境變數,有臨時生效和永久生效兩種:

在.bash_profile或者/etc/profile文件中使用export導出變數,然後使用"."或者source命令使其生效。

系統的內置的環境變數或者自定義的環境變數可以通過echo或者printf進行列印:

對於有哪些變數使用env(上述已經說過)或者set命令:

使用unset取消變數,不要隨意使用,尤其是系統環境變數:

局部變數的生命周期是當前的Shell腳本,如果啟動另一個Shell進程或者退出當前Shell進程,變數就會丟失。

局部變數又三種定義方式:

變數名一般以字母、數字、下劃線組成,其中以字母開頭。

為了更好的說明上面定義的三種方式,即不加引號、加單引號、加雙引號的區別,以下面的例子說明:

上述a、b、c輸出為:

在上面的基礎上如果變成下面的例子:

a、b、c的輸出有時什麼呢?

從上面的例子中可以看出第一種定義a變數的方式(不帶引號),內容一般為簡單連續的數字、字元串等;第二種定義b變數的方式(單引號)所見即所得,內容原樣輸出;第三種定義c變數的方式(雙引號),輸出變數時引號中變數會經過解析後輸出。

所以,腳本中單純的數字可以不使用引號,但是其它普通字元串盡量使用雙引號。

系列教程:

Python虛擬環境搭建-學習視頻教程-騰訊課堂ke.qq.com

Ⅱ Shell基本腳本命令使用教程

1、本地變數:用戶私有變數,只有本用戶可以訪問,保存在家目錄的 .bash_profile、.bashrc文件中
2、全局變數:所有用戶都可以使用,保存在 /etc/profile 文件中
3、用戶自定義變數:用戶自定義,比如腳本中的變數
定義變數格式: 變數名=值 (=兩邊不能有空格)
字元串用單引號或者雙引號引起來

shell支持正則表達式的常見命令:grep、sed、awk。

sed 是一個行(流)編輯器,非互動式的對文件內容進行增刪改查操作

awk 能夠集過濾、提取、運算為一體,它的工作方式是讀取數據,將每一行數據視為一條記錄,每條記錄以欄位分隔符分成若干欄位,然後輸出各個欄位的值。平行命令還有 gawk、pgawk、dgawk。

Ⅲ shell變數的使用及輸入輸出

(1),命名只能使用英文字母,數字和下劃線,首個字元不能以數字開頭。
(2),中間不能有空格,可以使用下劃線(_)。
(3),不能使用標點符號。
(4),不能使用bash里的關鍵字(可用help命令查看保留關鍵字)

shell的變數只有字元串類型,所以當不用引號引起來的時候,要暴走變數的值不包含特殊符號,如空格,美元符,&符.

使用一個定義過的變數,只要在變數名前面加美元符號即可,如:

使用 readonly 命令可以將變數定義為只讀變數,只讀變數的值不能被改變。

運行:

使用 unset 命令可以刪除變數。語法:

示例

運行:

(1)單引號
單引號里的任何字元都會原樣輸出,單引號字元串中的變數是無效的
(2)雙引號
雙引號里可以有變數,也可以出現轉義字元

(1)定義數組
方法一:

方法二:

(2)讀取數組內容

(3)獲取數組長度

結果:

結果:

(1).輸入不在終端顯示
read -p "Input passwd:" -s Passwd
echo $Passwd
(2)限時輸入,否則退出
延遲五秒,沒有輸入將自動退出:
read -p "Input a number:" -t 5 Number
(3) 讀取限定字元
從輸入中取 5 個字元:
read -p "Input a word:" -n 5 Word

<< 可以被認為是一種重定向符.重定向腳本文件中的一行作為一個命令輸入.
操作符<<被放在輸入重低昂小的命令之後,緊跟在<<的各行作為命令的輸入,輸入的結尾通過文件結束符(ctrl+D)表示,也可以自己定義定界符,定界符後的單詞作為輸入各行借宿的定界符.

閱讀全文

與shell命令中使用變數相關的資料

熱點內容
程序員測試輕松嗎 瀏覽:166
英雄聯盟神魔怎麼綁定伺服器 瀏覽:980
音樂app怎麼換音質 瀏覽:974
python進階客戶流失 瀏覽:280
華為榮耀10伺服器地址 瀏覽:998
javastring相等判斷 瀏覽:411
程序員考研究生學校 瀏覽:935
java卡頓 瀏覽:500
編程軟體怎麼運行zip文件 瀏覽:505
單片機怎麼做組態 瀏覽:899
android參考文獻外文 瀏覽:684
銅電極電流效率的演算法 瀏覽:142
簡訊內存已滿怎麼處理安卓 瀏覽:312
ogg命令 瀏覽:784
南昌程序員最新消息 瀏覽:151
藍牙編程入門書籍 瀏覽:763
單片機秒錶實驗 瀏覽:411
小米3文件夾設置 瀏覽:566
手動添加dns伺服器加什麼數字 瀏覽:563
單片機中三位數碼管原件 瀏覽:142