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