Shell程式設計-shell變數1
1.shell變數:
變數:是shell傳遞資料的一種方式,用來代表每個取值的符號名
2.shell變數設定規則
不能以數字開頭
變數預設都是字串型別
[root@VM_0_16_centos es]# num3=$num+$num2
[root@VM_0_16_centos es]# echo $num3
12+13
如果變數有空格,需要使用單雙引號
[root@VM_0_16_centos es]# pro=pro fillll
-bash: fillll: command not found
[root@VM_0_16_centos es]# pro="pro fillll"
[root@VM_0_16_centos es]#
=號兩邊不能有空格
[root@VM_0_16_centos es]# lxx = 1
-bash: lxx: command not found
[root@VM_0_16_centos es]# lxx =1
-bash: lxx: command not found
3.分類
使用者自定義變數
環境變數 $HOME,$SHELL,$PWD,$USER等
位置引數變數
預定義變數
使用set檢視系統中所有的變數
。
1)使用者自定義變數
[root@VM_0_16_centos es]# num2=123
[root@VM_0_16_centos es]# num3=234
2)變數呼叫,使用$xxxName 呼叫變數的值
3)將一個變數賦值給另一個變數
4)將運算的結果賦值給變數
[root@VM_0_16_centos es]# num4=`ll`
[root@VM_0_16_centos es]# echo $num4
total 28 -rwxr-xr-x 1 root root 18 May 10 14:44 firstshell -rw-r--r-- 1 es root 136 May 9 09:28 hello2.txt.tar.gz -rwxrwxrwx 1 es es 156 May 9 12:38 hello.txt -rw-rw-r-- 1 es es 136May 8 19:21 hello.txt.tar.gz -rw-rw-r-- 1 es es 182 May 8 19:12 hello.txt.zip drwxr-xr-x 2es es 4096 May 9 09:32 temp drwxr-xr-x 2 root root 4096 May 8 19:10 tody
使用$()
[root@VM_0_16_centos home]# num5=$(ll /home/es)
[root@VM_0_16_centos home]# echo $num5
total 28 -rwxr-xr-x 1 root root 18 May 10 14:44 firstshell -rw-r--r-- 1 es root 136 May 9 09:28 hello2.txt.tar.gz -rwxrwxrwx 1 es es 156 May 9 12:38 hello.txt -rw-rw-r-- 1 es es 136May 8 19:21 hello.txt.tar.gz -rw-rw-r-- 1 es es 182 May 8 19:12 hello.txt.zip drwxr-xr-x 2es es 4096 May 9 09:32 temp drwxr-xr-x 2 root root 4096 May 8 19:10 tody
[root@VM_0_16_centos home]#
[root@VM_0_16_centos home]# num6=$((4+5))
[root@VM_0_16_centos home]# echo $num6
9
[root@VM_0_16_centos home]#
拼接
[root@VM_0_16_centos home]# str1=123.123.123
[root@VM_0_16_centos home]# str2=root@$str1
[root@VM_0_16_centos home]# echo $str2
root@123.123.123
[root@VM_0_16_centos home]# str3=root@${str1}
[root@VM_0_16_centos home]# echo $str3
root@123.123.123
[root@VM_0_16_centos home]# str4=root@"$str1"
[root@VM_0_16_centos home]# echo str4
str4[root@VM_0_16_centos home]# echo $str4root@123.123.123[root@VM_0_16_centos home]#
轉義使用''單引號
[root@VM_0_16_centos home]# str5=root@'$str1'
[root@VM_0_16_centos home]# echo $str5
root@$str1
[root@VM_0_16_centos home]#
列出所有的變數
set命令
刪除變數
unset
但是,有一種變數無法使用unset刪除
readonly變數:
[root@VM_0_16_centos home]# readonly rnum=123
[root@VM_0_16_centos home]# unset rnum
-bash: unset: rnum: cannot unset: readonly variable
[root@VM_0_16_centos home]#
使用者自定義的變數,作用域只在當前的shell中,如果重啟那麼就失效。
環境變數
作用域:當前shell及子shell
使用bash進入一個新的bash環境
使用exit退出當前的bash
執行bash firstshell時,會進入一個bash,執行完畢後並退出bash,我們可能看不到bash,因為執行的速度太快,我們可以在bash中執行sleep 5睡眠5s。
變數:是shell傳遞資料的一種方式,用來代表每個取值的符號名
2.shell變數設定規則
不能以數字開頭
變數預設都是字串型別
[root@VM_0_16_centos es]# num3=$num+$num2
[root@VM_0_16_centos es]# echo $num3
12+13
如果變數有空格,需要使用單雙引號
[root@VM_0_16_centos es]# pro=pro fillll
-bash: fillll: command not found
[root@VM_0_16_centos es]# pro="pro fillll"
[root@VM_0_16_centos es]#
=號兩邊不能有空格
[root@VM_0_16_centos es]# lxx = 1
-bash: lxx: command not found
[root@VM_0_16_centos es]# lxx =1
-bash: lxx: command not found
3.分類
使用者自定義變數
環境變數 $HOME,$SHELL,$PWD,$USER等
位置引數變數
預定義變數
使用set檢視系統中所有的變數
。
1)使用者自定義變數
[root@VM_0_16_centos es]# num2=123
[root@VM_0_16_centos es]# num3=234
2)變數呼叫,使用$xxxName 呼叫變數的值
3)將一個變數賦值給另一個變數
4)將運算的結果賦值給變數
[root@VM_0_16_centos es]# num4=`ll`
[root@VM_0_16_centos es]# echo $num4
total 28 -rwxr-xr-x 1 root root 18 May 10 14:44 firstshell -rw-r--r-- 1 es root 136 May 9 09:28 hello2.txt.tar.gz -rwxrwxrwx 1 es es 156 May 9 12:38 hello.txt -rw-rw-r-- 1 es es 136May 8 19:21 hello.txt.tar.gz -rw-rw-r-- 1 es es 182 May 8 19:12 hello.txt.zip drwxr-xr-x 2es es 4096 May 9 09:32 temp drwxr-xr-x 2 root root 4096 May 8 19:10 tody
使用$()
[root@VM_0_16_centos home]# num5=$(ll /home/es)
[root@VM_0_16_centos home]# echo $num5
total 28 -rwxr-xr-x 1 root root 18 May 10 14:44 firstshell -rw-r--r-- 1 es root 136 May 9 09:28 hello2.txt.tar.gz -rwxrwxrwx 1 es es 156 May 9 12:38 hello.txt -rw-rw-r-- 1 es es 136May 8 19:21 hello.txt.tar.gz -rw-rw-r-- 1 es es 182 May 8 19:12 hello.txt.zip drwxr-xr-x 2es es 4096 May 9 09:32 temp drwxr-xr-x 2 root root 4096 May 8 19:10 tody
[root@VM_0_16_centos home]#
[root@VM_0_16_centos home]# num6=$((4+5))
[root@VM_0_16_centos home]# echo $num6
9
[root@VM_0_16_centos home]#
拼接
[root@VM_0_16_centos home]# str1=123.123.123
[root@VM_0_16_centos home]# str2=root@$str1
[root@VM_0_16_centos home]# echo $str2
root@123.123.123
[root@VM_0_16_centos home]# str3=root@${str1}
[root@VM_0_16_centos home]# echo $str3
root@123.123.123
[root@VM_0_16_centos home]# str4=root@"$str1"
[root@VM_0_16_centos home]# echo str4
str4[root@VM_0_16_centos home]# echo $str4root@123.123.123[root@VM_0_16_centos home]#
轉義使用''單引號
[root@VM_0_16_centos home]# str5=root@'$str1'
[root@VM_0_16_centos home]# echo $str5
root@$str1
[root@VM_0_16_centos home]#
列出所有的變數
set命令
刪除變數
unset
但是,有一種變數無法使用unset刪除
readonly變數:
[root@VM_0_16_centos home]# readonly rnum=123
[root@VM_0_16_centos home]# unset rnum
-bash: unset: rnum: cannot unset: readonly variable
[root@VM_0_16_centos home]#
使用者自定義的變數,作用域只在當前的shell中,如果重啟那麼就失效。
環境變數
作用域:當前shell及子shell
使用bash進入一個新的bash環境
使用exit退出當前的bash
執行bash firstshell時,會進入一個bash,執行完畢後並退出bash,我們可能看不到bash,因為執行的速度太快,我們可以在bash中執行sleep 5睡眠5s。
相關文章
- Shell程式設計-02-Shell變數程式設計變數
- shell程式設計–bash變數程式設計變數
- shell程式設計(一)變數程式設計變數
- Shell程式設計-04-Shell中變數數值計算程式設計變數
- Shell程式設計-shell變數2-位置變數和預定義變數程式設計變數
- shell程式設計-高階變數程式設計變數
- shell程式設計–bash變數介紹程式設計變數
- Shell程式設計規範與變數程式設計變數
- Linux Shell程式設計(1)——shell程式設計簡介Linux程式設計
- 01 shell程式設計之變數定義程式設計變數
- 01 shell程式設計規範與變數程式設計變數
- Linux Shell程式設計(10)——引用變數Linux程式設計變數
- shell程式設計學習筆記(二):Shell中變數的使用程式設計筆記變數
- Shell變數型別有哪些?linux運維shell程式設計變數型別Linux運維程式設計
- Linux shell程式設計(一)shell指令碼中的變數詳解Linux程式設計指令碼變數
- Linux Shell程式設計(6)——變數替換Linux程式設計變數
- Linux Shell程式設計(7)——變數賦值Linux程式設計變數賦值
- Linux Shell程式設計(8)——變數詳解Linux程式設計變數
- Linux Shell程式設計(14)——內部變數Linux程式設計變數
- shell程式設計02——變數定義與使用程式設計變數
- Linux Shell程式設計(1)Linux程式設計
- shell程式設計例項1--參數列示程式設計
- shell指令碼程式設計學習筆記——變數指令碼程式設計筆記變數
- shell程式設計之環境變數配置檔案程式設計變數
- Linux Shell程式設計(9)——特殊變數型別Linux程式設計變數型別
- Shell程式設計 --- Shell介紹程式設計
- Shell 變數變數
- Shell變數變數
- Shell 程式設計 : 數值,字元,字串程式設計字元字串
- shell程式設計程式設計
- Bourne Shell及shell程式設計(轉)程式設計
- Shell入門——shell特性、變數變數
- Shell程式設計-11-子Shell和Shell巢狀程式設計巢狀
- Linux Shell程式設計(27)——子shellLinux程式設計
- Shell程式設計基礎學習之三:變數和test程式設計變數
- shell基礎篇(二)-shell變數變數
- [Shell] shell中的內部變數變數
- 【shell程式設計】目錄檔案計數程式設計