十、Linux shell編程條件判斷、流程控制

sort [選項] 文件名
-f 忽略大小寫
-n 以數值型進行排序,默認使用字符串排序
-r	反向排序
-t	指定分隔符
-k n[,m]	按照指定字段範圍排序。從第n字段開始,m字段結束
sort /etc/passwd

wc [選項] 文件名
-l 只統計函數
-w 統計單詞數
-m 統計字符數


1 條件判斷:
在這裏插入圖片描述
test -e canshu1.sh
echo $? 若輸出0,說明文件存在
[ -e canshu1.sh ]
echo $? 若輸出0,說明文件存在

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

2 流程控制

if語句
單分支if條件語句

if [條件判斷式] ; then
	程序
fi
或者
if [條件判斷式] 
	then
		程序
fi

例子:
當/dev/sda1已用容量超過10就發出警告
///////////////////////////////////////
#!/bin/bash
rate=$( df -h | grep "/dev/sda1" | awk '{print $5}' | cut -d "%" -f 1 )
if [$rate -ge 10]
	then
	echo "warning"
fi
//////////////////////////////////////

雙分支if條件語句

if [條件判斷式] 
	then
		程序
	else
		程序
fi

多分支if條件語句

if [條件判斷式] 
	then
		程序
	elif [條件判斷式] 
		then
		  	程序
		else
			程序
fi

case語句

case $變量名 in
	"值一")
		程序段1
		::
	"值二")
		程序段2
		::
	*)
		程序段3
		::
esac

for語句

for 變量 in 值1 值2 值3...
	do 
		程序
	done
例子:
for i in 1 2 3 4 5 6
	do 
		echo $i
	done

read -p "input a number" -t 20 -n 3 num  //輸入小於等於3位的數
s=0
for ((i=1;i<=$num;i=i+1))    //要用雙括號
	do
		s=$(($s+$i))
	done

while循環

while [ 條件判斷式 ]
	do 
		程序
	done

until循環

until [ 條件判斷式 ]  //條件不成立執行循環,成立則退出循環
	do 
		程序
	done
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章