!/bin/bash
判断 ok是否等于ok
[ “ok” = “ok” ]
if [ "ok" = "ok" ]
then
echo "qual"
fi
判断 23是否大于22
if [ 23 -gt 22 ]
then
echo "大于"
判断 目录中的文件是否存在
if [ -e /root/a.log ]
then
echo "有文件"
流程控制语句
if结构
如果输入的参数大于等于60,输出 几个了,如果小于60,输出不及格
if [ $1 -ge 60]
then
encho "及格了"
elif[ $1 -lt 60]
echo"不及格"
fi
case语句
当命令行参数是1时,输出周一,是2 时,输出周二,其他情况输出 other
语句结构是
case $变量名 in
“值1”)
;;
….
“值n”)
;;
*)
#!/bin/bash
case $1 in
"1")
echo "周一"
;;
"2")
echo "周二"
;;
*)
echo "other"
;;
esac
使用就是 ./脚本名 + 参数
for循环
写法1
#!/bin/bash
#打印命令行输入的参数
#使用 $*
for i in "$*"
do
echo "the num is $i"
done
echo "=========="
#使用 $@
for j in "$@"
do
echo "the num is $j"
done
区别就是 $* 把内容当做一个整体
$@ 把内容一个一个遍历输出
写法2
#!/bin/bash
SUM=0
for ((i=1;i<=100;i++))
do
SUM=$(($SUM+$i))
#SUM=$[$SUM+$i] 和这个效果相同的
done
echo"和是$SUM"
while 循环
写法
while [ 条件表达式 ]
do
程序
done
# 从命令行输入一个数 n,统计 1+ ... +n 的值是多少
#!/bin/bash
SUM=0
i=0
while [[ $i -le $1 ]]
#如果i小于 输入的n,则当i等于0,和是0;i=1,和是1;i=2,和是3
do
SUM=$[$SUM+$i]
i=$[$i+1]
# 自增不像java中用的 i++,而是使用加法,再返回给自己
done
echo "sum =$SUM"
执行就用 脚本名+ 参数