if基本语法语义
if判断
if [ 条件判断式 ];then
程序
fi
或者
if [ 条件判断式 ];
then
程序
fi
if判断语句演示
脚本内容
#!/bin/bash
#if判断传入参数是否等于1,eq是条件表达判断式语句,-eq的意思是等于
if [ $1 -eq 1 ];then # 如果 输入参数 等于 1
echo [OK!!!] # 则打印OK!
elif [ $1 -eq 2 ];then # 再如果 输入参数 等于2
echo [NO...] # 则打印NO,如果输入的大于2就没有输出
fi # 以fi结尾
run
root@wordpress ~# bash if.sh
if.sh: line 3: [: -eq: unary operator expected
if.sh: line 5: [: -eq: unary operator expected
root@wordpress ~#
如果你不知道为什么出错,你可以看看前面的文章.这里出错的原因是你没有传入参数
root@wordpress ~# bash if.sh 1
[OK!!!]
root@wordpress ~# bash if.sh 2
[NO...]
root@wordpress ~# bash if.sh 3
root@wordpress ~#
------------------------------------if判断语句分割线---------------------------------------
case语句基本语法
case $variable_name in
"值 1")
如果变量值等于1,则执行程序1.
;;
"值 2")
如果变量值等于2,则执行程序2
;;
...省略其他分支...
*)
注意事项:
1.case行尾必须为单词"in",每一个模式匹配必须以右括号")"结束
2.双分号";;"表示命令序列结束,相当于break
3.最后的"*)"表示默认模式,相当于default
实际演示
脚本内容
root@wordpress ~# cat case.sh
#!/bin/sh
case $1 in # 特殊变量接收参数 in为行尾(个人理解in为索引的意思)
1)
echo Man! # 参数是1则打印这个
;; # 双分号结束这行
2)
echo Woman # 参数是2则打印这个
;;
*)
echo "NO MAN NO WOMAN" # 其他参数则打印这个
;;
esac # esac为结尾
执行
root@wordpress ~# bash case.sh 1
Man!
root@wordpress ~# bash case.sh 2
Woman
root@wordpress ~# bash case.sh 3
NO MAN NO WOMAN
-------------------------------------------case语句结束-------------------------------------------
for循环语句基本语法
(1)
for ((初始值;循环控制条件;变量变化))
do
程序
done
(2)
for 变量 in 值1 值2...
do
程序
done
实际演示
(1)脚本内容
root@wordpress ~# cat for.sh
#!/bin/sh
for((i=1;i<=100;i++)) # 设置变量 循环控制条件 变量变化
do # 开始
s=$[$s+$i] # 运算符运算
done # 完成
echo $s # 打印最终结果
执行
root@wordpress ~# bash for.sh
5050
(2)脚本内容
root@wordpress ~# cat for1.sh
#!/bin/sh
for i in $* # 没加引号,这个变量不是一个整体
do
echo You entered this $i
done
for o in $@
do
echo You entered this $o
done
执行
root@wordpress ~# bash for1.sh 1 2 3 4 5
You entered this 1
You entered this 2
You entered this 3
You entered this 4
You entered this 5
You entered this 1
You entered this 2
You entered this 3
You entered this 4
You entered this 5
整体变量
root@wordpress ~# cat for1.sh
#!/bin/sh
for i in "$*" # 加上"引号"$*就是一个整体了,$*本身就是一个整体变量,不论用户输入多少参数,这个变量都会把它看
do #成一个整体,整体的参数传入i这个变量然后进入循环打印,打印出来也就是一整个参数的样子
echo You entered this $i
done
for o in "$@" # 加上了引号这个"$@"它还是会把用户输入参数区别开来,一个一个的把参数传入变量o,然后循环一个一
do #个打印出来
echo You entered this $o
done
执行
root@wordpress ~# bash for1.sh 1 2 3 4 5 6 7 8 9
You entered this 1 2 3 4 5 6 7 8 9
You entered this 1
You entered this 2
You entered this 3
You entered this 4
You entered this 5
You entered this 6
You entered this 7
You entered this 8
You entered this 9
==========================for语句结束==========================
while基本语法
while是条件循环语句
while [ 条件表达式 ]
do
程序
done
实际演示
脚本内容
#!/bin/sh
i=0 # while循环不像for,想要执行循环得有条件
s=0 # 这些变量就是循环的条件
while [ $i -le 100 ] # 条件循环 [ 条件表达式 ] (-le是小等于的意思) 满足条件开始循环
do
s=$[$i+$s] # 运算符
i=$[$i+1] # 每计算一次,条件参数值增加一次,直到101,条件不满足停止循环
done
echo $s
执行
root@wordpress ~# bash while.sh
5050
for循环和while循环区别
while:当满足某种循环条件时才会进行循环,符合条件循环继续执行,否则退出循环.所以循环前要把条件基础设置好,否则不能运行循环
for:
Comments | NOTHING