shell Bash變數
shell變數
一、什麼是變數與變數分類
1,什麼是變數
- 變數是計算機記憶體的單元,其中存放的值可以改變
- 變數讓你能夠把程式中準備使用的每一段資料都賦給一個簡短、易於記憶的名字,因此他們十分有用
2,變數命名
(1)變數名必須以字母或者下劃線開頭,名字中間只能由字母、數字和下劃線組成
(2)變數名的長度不得超過255個字元
(3)變數名在有效的範圍內必須是唯一的
(4)在Bash中,變數的預設型別都是字串型
3,變數按照儲存資料分類
- (1)字串型
- (2)整形
- (3)浮點型
- (4)日期型
4,變數分類
-
(1)使用者自定義變數
-
(2)環境變數:主要儲存的是和系統操作環境相關的資料。
變數可以自定義,但是對系統生效的環境變數名和變數作用是固定的 -
(3)位置引數變數:用來向指令碼當中傳遞引數或資料的,變數名不能自定義,變數作用是股東的
-
(4)預定義變數:是Bash中已經定義好的變數,變數名不能自定義,變數作用也是固定的
二、使用者自定義變數
1,格式
- 變數名=變數值
- ps:
-
=左右不能加空格
-
變數值有空格,要用“”括起來
-
- ps:
2,變數呼叫
- $變數名
3,變數的疊加(同一個應用範圍內,變數名是唯一的)
- (1)變數名=“ 變 量 名 ” 疊 加 值 x = " 變數名”疊加值 x=" 變量名”疊加值x="x"123 給$x變數疊加123
- (2)變數名= 變 量 名 789 x = {變數名}789 x= 變量名789x={x}789 給$x變數疊加789
4,變數檢視
-
set 檢視系統所有變數,包括環境變數
- -u 如果設定此選項,呼叫為生命變數時會報錯(預設無提示)
5,刪除變數
- unset 變數名 變數名前不用加$
三、環境變數
1,環境變數和使用者自定義變數的區別
-
使用者自定義變數只在當前的Shell中生效————區域性變數
-
環境變數在當前Shell和這個Shell的所有子Shell中生效————全域性變數
-
pstree 檢視程式樹
2,設定環境變數
-
(1)export 變數名=變數值
-
(2)變數名=變數值
export 變數名
3,檢視環境變數
-
set 檢視全部變數(包括環境變數)
-
env 檢視環境變數
4,刪除環境變數
- unset 變數名
5,常用環境變數
HOSTNAME 主機名
SHELL 當前的shell
TERM 終端環境
HISTSIZE 歷史命令條數
SSH_CLIENT 當前操作環境是用ssh連結,這裡記錄客戶端ip
SSH_TTY ssh連結的終端時pst/1
USER 當前登入的使用者
6,PATH環境變數
PATH變數:系統查詢命令的路徑
-
(1)echo $PATH 檢視PATH環境變數
-
(2)PATH=“$PATH”:/root/sh 增加PATH變數的值
四、位置引數變數
1,位置引數變數
$n n代表數字,$0代表命令本身,$1-$9代表第一到第九個引數,十以上的引數需要用大括號包含,如${10}
$* 這個變數代表命令列中所有的引數,$*把所有的引數看成一個整體(用for迴圈,只會進行一次)
$@ 這個變數也代表命令列中所有的引數,不過$@把每個引數區分對待
$# 這個變數代表命令列中所有引數的個數
五、預定義變數
$? 最後一次執行的命令返回的狀態。為0,證明上個命令正確執行,非0,證明上個命令執行不正確
$$ 當前程式的程式號(PID)
$! 後臺執行的最後一個程式的程式號(PID)
1、read
read 選項 變數名
-p ‘提示資訊’:在等待read輸入時,輸出提示資訊
-t 秒數,使用此項可以指定等待時間
-n 字元數,read命令字接收指定的字元數,就會執行
-s 隱藏輸入的資料,適用於機密資訊輸入(密碼)
相關文章
- shell程式設計–bash變數程式設計變數
- Linux中bash shell環境變數Linux變數
- shell程式設計–bash變數介紹程式設計變數
- [20190126]從sqlplus執行結果返回bash shell變數.txtSQL變數
- Bash變數和引數變數
- bash shell指令碼接受多個引數指令碼
- 詳解Linux bash變數Linux變數
- Linux Shell變數Linux變數
- Shell--變數變數
- [20180930]bash shell &.txt
- Shell程式設計-shell變數2-位置變數和預定義變數程式設計變數
- Shell階段02 shell變數運算(整數運算/小數運算), shell變數案例變數
- Shell程式設計-shell變數1程式設計變數
- Shell 變數學習變數
- 2.Shell變數變數
- Linux之shell變數Linux變數
- Shell程式設計-02-Shell變數程式設計變數
- Shell學習【變數使用】變數
- CentOS shell中的變數CentOS變數
- Shell配置環境變數變數
- Shell(Bash)學習· 總章
- [20210908]Reverse Shell with Bash.txt
- shell study-3day--shell變數及例項3D變數
- shell變數命名與賦值變數賦值
- Shell 入門系列 (一): 變數變數
- Shell-變數高階用法變數
- shell 變數賦值問題變數賦值
- Shell程式設計-04-Shell中變數數值計算程式設計變數
- bash shell 程式與磁碟資料
- [20181212]bash shell 字串 補零.txt字串
- [20201116]bash shell IO重定向.txt
- bash shell多執行緒方案執行緒
- Linux深入探索04-Bash shellLinux
- [20210913]bash shell $* and $@ 的區別.txt
- Shell-變數高階用法 (3) 有型別變數變數型別
- [20200217]bash顯示path環境變數.txt變數
- [20221111]bash eval設定變數問題.txt變數
- 簡述SHELL全域性環境變數與局變環境變數變數