七、Linux shell基礎 bash變量

變量用來存儲信息,不能以數字開頭,可以由字母、下劃線、數字組成。
默認類型時字符串類型,進行數值運算時,要指定變量類型爲數值型。
賦值用=號,變量和等號之間不能有空格,變量裏有空格時,要用單引號或雙引號括起來

1、用戶自定義變量

定義變量:
name="hello"
調用變量: 變量名前加$
echo $name
變量疊加:
name="$name"world
name=${name}world
set查看變量
unset刪除變量

2、環境變量

用戶自定義變量只在當前shell中生效
環境變量寫入配置文件後,在所有shell中生效
export 變量名=變量值
env查詢變量
unset刪除變量
PATH  //
PS1 //定義系統提示符的變量

3、位置參數變量

向腳本中傳遞參數或數據
$n n爲數字,$0表示命令本身,$1-$9代表第一個參數到第九個參數,十以上要用大括號包含,${10}
$*	  代表命令行中的所有參數,把所有參數看作一個整體
$@	代表命令行中的所有參數,把所有參數區別對待
$# 代表命令行中的所有參數的個數
例子:
vi canshu1.sh   //編寫一個腳本,功能是輸出從鍵盤上輸入的內容
/////////////////////
#!/bin/bash
echo $1  輸出第一個參數的內容
echo $2  輸出第二個參數的內容
echo $3  輸出第三個參數的內容
/////////////////////
chmod 777 canshu1.sh  //要修改權限
./canshu1.sh 11 22 33 //結果就會輸出11 22 33 這三個數

4、預定義變量

$? 最後一次執行命令的返回狀態,值爲0,表示正確運行,非0,不正確
$$ 當前進程的進程號
$!	後臺運行的最後一個進程的進程號
例子:
輸入:
ls
echo $?   輸出0,因爲ls正確執行
lstbhbj 
echo $?  輸出127,因爲沒有這個命令,輸出的數字是系統定義好的

read [選項][變量名]
-p 提示信息
-t 秒數 等待時間
-n 字符數  指定輸入的字符數
-s 隱藏輸入的數據,例如輸入密碼時
例子:
vi canshu2.sh      //編輯canshu2.sh腳本
//////////////////////////
#!/bin/bash
read -t 20 -p "please input name" name   //輸入姓名
echo $name
read -t 20 -s -p "please input name" age    //隱藏輸入年齡
echo $age
read -n 10 -t 20 -p "please input name" ch    //輸入長度爲10的ch
echo $ch
/////////////////////////
chmod canshu2.sh
bash canshu2.sh

5、數值運算與運算符

declare [+/-] [選項] 變量名
+  取消變量的類型屬性
-  給變量設定類型屬性
-i 將變量聲明爲整型
-x 將變量聲明爲環境變量
-p 顯示指定變量的被聲明的類型

expr
dd=$(expr $a + $b)  +號兩邊有空格,此語句也是求a,b之和
 ff=$(($a+$b)) 此語句也是求a,b之和

6、變量測試與內容替換
根據y的值對一個新的變量x賦值,使用時對照表格即可。
在這裏插入圖片描述


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章