在Bash腳本語言中,變量的賦值方式共有四種分別是直接賦值、read命令賦值、命令賦值和位置參數賦值。
## 1.直接賦值
以下是一個Bash腳本,它將字符串“hi my name is djangowang”賦值給變量name并通過echo命令打印變量中的內容。
```
#!/bin/bash
name="hi my name is djangowang"
echo $name
```
## 2.read命令賦值
read是Bash中的內建命令,它從鍵盤獲取標準輸出并賦值給變量。以下是將鍵盤輸入的內容賦值給變量name,并通過echo命令打印變量中的內容。
```
#!/bin/bash
read name
echo $name
```
## 3.命令賦值
獲取系統命令的標準輸出并將標準輸出內容賦值給變量command,并通過echo命令打印變量中的內容。這里注意命令賦值方式共分為兩種見以下案例。
#!/bin/bash
command = `date` # 推薦賦值方式 ,其中“`” 是鍵盤按鍵1邊上的符號。
echo $command
# 或
command = $(date)
echo $command
## 4.位置參數賦值
位置參數賦值是通過通過執行腳本時傳遞參數賦值給變量。譬如以下腳本名為test.sh內容如下,通過執行/bin/sh test.sh hello,其中hello就是位置參數他會通過$1賦值給command變量,這里注意如果位置變量有空格又需要同時傳給位置變量1可以通過“”來擴起來,譬如/bin/sh test.sh "hello world"。這里位置變量通過空格作為變量的分割符。
```
#!/bin/bash
command = $1
echo $command
```
注意位置變量通常為數字$1-$9,10以上要用大括號擴起來如${10},${10},以下是案例。
```
#!/bin/bash
# argc.sh a b c d e f g h i j k
echo $1
echo $2
echo $3
echo $4
echo $5
echo $6
echo $7
echo $8
echo $9
echo ${10}
echo ${11}
```
以上程序有個問題,如果位置參數要是大于10或更多這樣寫程序成本會很高且程序易讀性也不好,這時我們可以使用shift命令,它用于參數的自動左移。
```
#!/bin/bash
while [ $# != 0 ]
do
echo "prama is $1,prama size is $#"
shift
done
```
- Introduction
- 1.Shell編程基礎
- 什么是Shell
- 編寫第一個Bash程序
- 2.變量
- 什么是變量
- 變量四種賦值方式
- 指定變量類型
- 變量的類型
- 特殊變量
- 3.Bash符號相關
- Bash符號相關
- 特殊符號
- 數學運算符號
- 4.內建命令與外部命令
- 內建命令與外部命令
- 5.read命令
- read命令
- 6.條件語句
- if..then..fi
- if..then..else..fi
- if..then..elif..fi
- 空命令
- 文件測試符
- 字符串判斷、與、或和非
- []與[[]]符號
- 7.Bash循環 && 分支語句
- while循環語句
- for循環
- for..in循環
- until循環
- select循環
- case分支語句
- 8.正則表達式
- 正則表達式
- 9.子Shell和受限Shell
- 子Shell
- 受限Shell
- 10.函數與函數的加載
- 函數語法與案例
- 遞歸函數
- 函數的加載
- 11.Bash腳本風格
- Bash腳本風格
- 12.Bash腳本調試
- Bash腳本調試
- 13.sed && awk
- sed
- 14.awk
- awk
- 15 Bash雜項 && 案例
- while循環的陷阱
- Bash的生命周期
- IO重定向
- /bin/bash和/bin/sh區別
- 命令雜項
- Shell加密
- 16.10.2.案例
- Bash版回收站
- 17.Bash中文速查表
- 中文速查表