条件判断语句
if [ 条件判断 ]
then
//命令
fi
if [ 条件判断 ]; then
条件成立执行,命令;
fi
#!/bin/bash
a=10
b=5
if [ $a -gt $b ]
then
echo "$a > $b"
exit 0
fi
if [ $a -le $b ];then
echo "$a <= $b"
exit 0
fi
- 以参数传入的方式调用
sh if2.sh 97 987
#!/bin/bash
x=$1
y=$2
if [ $x -gt $y ]
then
echo "yes: $x > $y "
exit 0
fi
if [ $x -le $y ]
then
echo " $x < $y "
exit 0
fi
- 验证某个文件在目录下是否存在,若不存在则创建,目录不存在,也创建
#!/bin/bash
path=/home/hadoop/shell/ifDir2
if [ -e "$path/if3.sh" ]
then
echo "if3.sh is exits"
exit 0
fi
if [ ! -e "$path/if3.sh" ]
then
[ ! -d $path ]&& mkdir -p $path&&{
echo "文件目录不存在,需要创建"
cd $path
touch if3.sh
echo "if3.sh is touch success"
exit 0
}
[ -d $path ]&&{
echo "$path目录已经存在了"
cd $path
touch if3.sh
exit 0
}
]
fi
- if 、else 的使用
(判断该目录下的文件是否存在,不存在就创建)
#!/bin/bash
path="/home/hadoop/shell/ifDir2"
if [ -e "$path/a.txt" ]; then
echo "这个文件 a.txt存在"
exit 0
else
if [ ! -d $path ];then
echo "$path这个文件夹不存在"
mkdir -p $path
echo "创建文件夹成功 $path"
fi
cd $path
touch a.txt
echo " 创建文件a.txt成功 "
exit 0
fi
!/bin/bash
read -p "请输入两个参数 a , b,用于比较两个值的大小: " a b
if [ $a -gt $b ]; then
echo "$a > $b "
exit 0
elif [ $a -eq $b ]; then
echo " $a == $b "
exit 0
else
echo " $a < $b "
exit 0
fi
case结构条件语句
case 变量名称 in
"值1")
程序段
;;
"值2")
程序段
;;
*) //都不满足时执行,类似java中default
exit 1
;;
esac
#!/bin/bash
read -p "pleas input a num in [ 1 - 7 ]" ww
case $ww in
1)
echo "Mon"
;;
2)
echo "Tue"
;;
3) echo "Wed"
;;
4) echo "Thu"
;;
5) echo "Fir "
;;
[6-7])
echo " weekend "
;;
*)
echo "请输入1-7的数字"
exit 1
esac
exit 0
- 函数 使用 $1 来取传递的值,注意,这里指的值不是执行脚本时,传递的值
#!/bin/bash
read -p "pleas input a num in [ 1 - 7 ]" ww
print(){
echo "传递的参数是 $1"
}
case $ww in
1)
print "Mon"
;;
2)
print "Tue"
;;
3) print "Wed"
;;
4) print "Thu"
;;
5) print "Fir "
;;
[6-7])
print " weekend "
;;
*)
print "请输入1-7的数字"
exit 1
esac
exit 0