1.文件包含
文件B中可以調(diào)用文件A
./fileA.sh ? ? ??
這樣執(zhí)行文件B時(shí),文件B會(huì)執(zhí)行文件A
2.cat 命令
cat file.sh ? ? ? ? ? 查看文件內(nèi)容
cat -n file.sh ? ? ?可以顯示文件內(nèi)容和行號(hào)
cat -b file.sh ? ? ?和"-n"類似,但是空白行是不顯示標(biāo)號(hào)的
cat -e file.sh ? ? ? 在每一行末尾加一個(gè)"$"符號(hào)
cat+回車 ? ? ? ? ? ? 接收標(biāo)準(zhǔn)輸入,同時(shí)輸出標(biāo)準(zhǔn)輸出 ?按 control+c 退出
3.read 命令
接收輸入內(nèi)容
echo "請(qǐng)輸入:"
read param
echo "輸入的是: ${param}"
或者
read-p"請(qǐng)輸入:"param
echo "輸入的是: ${param}"
添加輸入時(shí)間限制
if read -t 10 -p "請(qǐng)輸入:" param
then
? ? echo "輸入的是: ${param}"
else
? ? echo "鏈接超時(shí)"
fi
密文輸入
read -s -p "請(qǐng)輸入:"param
echo "輸入的是: ${param}"
通過(guò)cat讀取文件內(nèi)容,通過(guò)while循環(huán)讀取每一行
cat 文件名 | while read string
do?
? ? ? ?echo "行:${string}"
done
4.printf 命令
printf命令和echo命令區(qū)別 :
printf 命令,不會(huì)換行,一般用于格式打印
echo ?命令,會(huì)自動(dòng)換行打印,主要用來(lái)標(biāo)準(zhǔn)輸出
語(yǔ)法結(jié)構(gòu): printf format-string 參數(shù)列表
例:
printf %s "字符串"
printf "%d %s \n" 1 "字符串"
5.函數(shù)
語(yǔ)法結(jié)構(gòu)
function 方法名稱(){
邏輯代碼
}
需要返回值的話,可以再調(diào)用函數(shù)之后,通過(guò)echo $? 獲取函數(shù)返回值
6.浮點(diǎn)運(yùn)算工具 ?bash計(jì)算器 ? bc
6.1 ?可以再終端直接輸入 bc 命令,打開計(jì)算器進(jìn)行計(jì)算
退出計(jì)算器方式為,輸入"quit"命令,或者按"control+d"
6.2 ?可以腳本中通過(guò)代碼,計(jì)算獲取值
語(yǔ)法:?value=$(echo "options; expression" | bc)
options: 設(shè)置的一些選項(xiàng),如:設(shè)置小數(shù)精度,設(shè)置輸入,輸出進(jìn)制格式,可不填
expression: 表達(dá)式
例:取值,小數(shù)精度為2位
value=$(echo "scale=2; 190 / 172" | bc)?
例:輸出為2進(jìn)制
value=$(echo "obase=2; 100"| bc)
例:設(shè)定輸入為二進(jìn)制
value=$(echo "ibase=2; 100"| bc)
例:不設(shè)置選項(xiàng)
value=$(echo "190 / 172" | bc)?
6.3 對(duì)于復(fù)雜計(jì)算,可以與重定向結(jié)合
val=$(bc << Z
options ? ? ? ? ? ? ?這里選項(xiàng),做些設(shè)置,可不填
statements ? ? ? ?代碼,語(yǔ)句
expression ? ? ? ?表達(dá)式
Z
)