1. 用戶自定義變量
var1=10 ?
var2=-50 ?
var3=word ?
var4="more word" ?
??:在變量、等號(hào)和值之間不能出現(xiàn)空格
var5 = "failed" ?
2. 命令替換
有兩種方法可以將命令輸出賦值給變量
- 反引號(hào) `
- $() 格式
var1=`date`
var2=$(date)
3. 重定向輸入和輸出
3.1 輸出重定向
- 覆蓋
ls > test1.log
- 追加
ls >> test2.log
3.2 輸入重定向
- 文件輸入重定向
wc < test.log
- 內(nèi)聯(lián)輸入重定向
無(wú)需指定文件,在命令行中指定需要輸入重定向的數(shù)據(jù)即可,需要指定終止符
wc << EOF
>test 1
>test 2
>EOF
4. 管道
前一個(gè)命令的輸出結(jié)果傳遞給下一個(gè)命令
5. 執(zhí)行數(shù)學(xué)運(yùn)算
- expr
expr 1 + 2
var1 = $(expr 1 + 2)
var2 = $(expr 1 \* 2) ??:使用expr時(shí)特殊符號(hào)需要轉(zhuǎn)譯,如 *
??:expr 1 + 2 和 expo 1+2結(jié)果不同
expr 1 + 2
結(jié)果是3,數(shù)學(xué)運(yùn)算
expr 1+2
結(jié)果是 1+2
expr 1+ 2
語(yǔ)法錯(cuò)誤?
- $[]
不用考慮特殊符號(hào),如*
echo $[1+2]
echo $[1 +2]
echo $[1 + 2]
以上三個(gè)命令結(jié)果都是:3
??:expr和$[]都只支持整數(shù)運(yùn)算,不支持浮點(diǎn)數(shù)運(yùn)算。
6. 浮點(diǎn)數(shù)運(yùn)算命令:bc
在腳本中使用bc
variable=$(echo "options; expression" | bc)
var1=$(echo "scale=4; 1/2"|bc)
多個(gè)變量時(shí)可以使用內(nèi)聯(lián)輸入重定向
#!/bin/bash
var1=10.46
var2=43.67
var3=33.2
var4=71
var5=$(bc << EOF
scale=4
a1=($var1 + $var2)
b1=($var3 + $var4)
a1 + b1
EOF
)
echo "var5 is $var5"
echo $a1 ??:這里在外面獲取不到計(jì)算器里定義的變量