!/bin/bash
# 1.判断传入的参数
if [ ! -n "$1" ]
then
echo "you have not input a word!"
elif [ "$1" == 1 ]
then
echo "the word you input is $1"
fi
# 2.判断shell内的参数
a=10
b=20
if [ $a == $b ]
then
echo "a 等于 b"
elif [ $a -gt $b ]
then
echo "a 大于 b"
elif [ $a -lt $b ]
then
echo "a 小于 b"
else
echo "没有符合的条件"
fi
# 3. if then else
num1=$[2*3]
num2=$[1+5]
if test $[num1] -eq $[num2]
then
echo '两个数字相等!'
else
echo '两个数字不相等!'
fi
# 4。 for 循环
for var in item1 item2 itemN
do
echo $var
done
# 5.顺序输出字符串中的字符:
for str in This is a string
do
echo $str
done
#回数字 1 到 5,然后终止。
int=1
while(( $int<=5 ))
do
echo $int
let "int++"
done
# until 循环
a=0
until [ ! $a -lt 10 ]
do
echo $a
a=`expr $a + 1`
done
# case ... esac
echo '输入 1 到 4 之间的数字:'
echo '你输入的数字为:'
read aNum
case $aNum in
1) echo '你选择了 1'
;;
2) echo '你选择了 2'
;;
3) echo '你选择了 3'
;;
4) echo '你选择了 4'
;;
*) echo '你没有输入 1 到 4 之间的数字'
;;
esac
# 循环
for((i=1;i<=5;i++));do
echo "这是第 $i 次调用";
done;
if [ $1 -gt 2 ]
then
echo "is bigger then 2"
else if [ $1 -lt 2 ]
then
echo "$1 is less then 2"
else
echo " "
fi
# 判断传入参数大小
if [ $1 = 1 ]
then
echo " $1 == 1"
elif [ $1 -ge 2 ]
then
echo "$1 >= 2"
fi
# 定义带参数的 shell函数
funWithParam(){
if [ $1 -le 5 ]
then
echo " $1 <= 5"
elif [ $1 -le 10 ]
then
echo " 5 < $1 <= 10"
else
echo "$1 > 10 "
fi
}
# 开始调用(从外面传入一个参数)
funWithParam $1
# 定义带参数的 shell函数
function funWithParam(){
if [ $1 -le 5 ];then
echo " $1 <= 5"
elif [ $1 -le 10 ];then
echo " 5 < $1 <= 10"
else
echo " $1 > 10 "
fi
}
# 判断执行情况:我们可以指定 1 表示文件不存在,2 表示文件没有读取权限,3 表示文件类型不对。
function existStatus() {
if [ $1 -eq 0 ]; then
echo 'Successful,0 erros 0 warning!'
elif [ $1 -eq 1 ]; then
echo '文件不存在!'
elif [ $1 -eq 2 ]; then
echo '文件没有读取权限!'
elif [ $1 -eq 3 ]; then
echo '文件类型不对!'
else
echo '其他错误类型!'
fi
}
# 开始调用(遍历传入的参数)
for par in $*;
do
funWithParam $par;
done
# 查看代码运行是否有错误(显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。)
existStatus $?
# 定义带参数的 shell函数
function funWithParam(){
if [ $1 -le 5 ];then
echo " $1 <= 5"
elif [ $1 -le 10 ];then
echo " 5 < $1 <= 10"
else
echo " $1 > 10 "
fi
}
# 判断执行情况:我们可以指定 1 表示文件不存在,2 表示文件没有读取权限,3 表示文件类型不对。
function existStatus() {
case $1 in
0){
echo 'Successful,0 erros 0 warning!'
};;
1){
echo echo '文件不存在!'
};;
2){
echo echo '文件没有读取权限!'
};;
3){
echo echo '文件类型不对!'
};;
*){
echo '其他错误类型!'
};;
esac
}
# 开始调用(遍历传入的参数)
for par in $*;
do
funWithParam $par;
done
# 查看代码运行是否有错误(显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。)
existStatus $?
#判断用户输入
read -p "Please choose yes/no: " -t 30 cho
#在屏幕上输出"请选择yes/no",然后把用户选择赋予变量cho
case $cho in
#判断变量cho的值
"yes")
#如果是yes
echo "Your choose is yes!"
#则执行程序1
;;
"no")
#如果是no
echo "Your choose is no!"
#则执行程序2
;;
*)
#如果既不是yes,也不是no
echo "Your choose is error!"
#则执行此程序
;;
esac
printf "%-10s %-8s %-4s\n" 姓名 性别 体重kg
printf "%-10s %-8s %-4.2f\n" 郭靖 男 66.1234
printf "%-10s %-8s %-4.2f\n" 杨过 男 48.6543
printf "%-10s %-8s %-4.2f\n" 郭芙 女 47.9876
# read -P echo -e
read -p "Please input your first name": firstname #读取命令前,有提示消息
read -p "please input your last name": lastname
echo -e "Your full name is $firstname$lastname" #使用 -e 参数 可以激活转义字符
exit 0