檔案目錄屬性判斷
[ -f file ] 判斷是否為普通檔案,且存在
[ -d dir ] 判斷是否為目錄,且存在
[ -e file ] 判斷檔案或目錄是否存在
[ -r file ] 判斷檔案是否可讀
[ -w file ] 判斷檔案是否可寫
[ -x file ] 判斷檔案是否可執行*
[ ! -f file ] 取反 表示不存在
if的特殊用法
if [ -z "$a" ] 表示當變量a的值為空
if [ -n "$a" ] 表示當變量a的值不為空
if grep -wq 'word' file;then..... if可以結合其他指令使用,本清單示 若file檔案中有包含word的行
if [ ! -e file ] ; then.... 表示檔案不存在的時候執行then....
if (($a<1)) ; then.....等同于 if [ $a -lt 1 ];then.....
[ ] 中部支援 < ,>, >=,<=,!=符号 可以使用 lt gt le ge ne eq
case 用法
格式
case 變量名 in
value1)
command
;;
value2)
.*)
esac
在case程式中,可以在條件中使用 | 邏輯關系
條件1|條件2)
;;
case 用法舉例
#!/bin/bash
read -p "please input a number :" n # 輸入并捕獲
if [ -z "$n" ]
then
echo "please input a number."
exit 1
fi
n1=
echo $n|sed 's/[0-9]//g'
#将變量n中全部數字替換為空然後指派給n1
if [ ! -z "$n1" ] # 判斷n1是否為空 此舉判斷輸入是否為純數字
then
echo "please input a number."
exit 1
if [ $n -lt 60 ] &&[ $n -gt 0 ]
then
tag=1
elif [ $n -gt 60 ] && [ $n -lt 80 ]
tag=2
elif [ $n -gt 80 ] && [ $n -lt 90 ]
tag=3
elif [ $n -gt 90 ] && [ $n -le 100 ]
tag=4
else
tag=0
case $tag in
1)
echo bjige
2)
echo jige
3)
ehco lianghao
4)
echo youxiu
*)
echo "please input number rage 1-100"
for 循環