赞
踩
$((a+b)) :
$[a+b] : 建议使用
expr a + b :
expr 的 乘以* 需要转义 为\*
运算符之间需要有空格,整体使用``(反引号)包起来
[ 判断式 ] : 注意判断式俩端需要有空格
- if [ 条件判断式 ]
- then
- 程序
-
- elif [ 条件判断式 ] #对比java中的else if
- then
- 程序
- else
- 程序
- fi #以反if结尾
-lt : 小于
-le : 小于等于
-eq : 等于
-gt : 大于
-ge : 大于等于
-ne : 不等于
- #!/bin/bash
-
- if [ $1 -lt $2 ]
- then
- echo "$1小于$2"
- fi
-
- if [ $1 -le $2 ]
- then
- echo "$1小于等于$2"
- fi
-
-
- if [ $1 -eq $2 ]
- then
- echo "$1等于$2"
- fi
-
-
- if [ $1 -gt $2 ]
- then
- echo "$1大于$2"
- fi
-
- if [ $1 -ge $2 ]
- then
- echo "$1大于等于$2"
- fi
-
- if [ $1 -ne $2 ]
- then
- echo "$1不等于$2"
- fi
-r 有读的权限
-w 有写的权限
-x 有执行的权限
- #!/bin/bash
-
- if [ -r /home/acofkings/shell/hello2.sh ]
- then
- echo "拥有读的权限"
- fi
-
-
- if [ -w /home/acofkings/shell/hello2.sh ]
- then
- echo "拥有写的权限"
- fi
-
-
- if [ -x /home/acofkings/shell/hello2.sh ]
- then
- echo "拥有执行的权限"
- fi
-f 文件存在并且是一个常规的文件
-e 文件存在
-d 文件存在并是一个目录
- #!/bin/bash
-
- if [ -f $1 ]
- then
- echo "文件存在且是常规文件"
- fi
-
-
- if [ -e $1 ]
- then
- echo "文件存在"
- fi
-
-
- if [ -d $1 ]
- then
- echo "文件存在且是一个目录"
- fi
- case $变量名 in
- "值1")
- 如果变量的值等于值 1,则执行程序 1
- ;;
- "值 2")
- 如果变量的值等于值 2,则执行程序 2
- ;;
- …省略其他分支…
- *)
- 如果变量的值都不是以上的值,则执行此程序
- ;;
- esac
例:
- #!/bin/bash
- case $1 in
- "1")
- echo "1"
- ;;
- "2")
- echo "2"
- ;;
- *)
- echo "other"
- ;;
- esac
俩个格式
格式一:
- for 变 量 in 值 1 值 2 值 3…
- do
- 程序
- done
例:
- #!/bin/bash
-
- for i in "$*"
- do
- echo "$i"
- done
-
- for j in "$@"
- do
- echo "$j"
- done
$* 中参数作为一个整体输出
$@中参数一个个输出
格式二:
- for (( 初始值;循环控制条件;变量变化 ))
- do
- 程序
- done
例:
- #!/bin/bash
-
- SUM=0
- for ((i=0;i<=100;i++))
- do
- SUM=$[$SUM+$i]
- done
- echo "SUM=$SUM"
- while [ 条件判断式 ]
- do
- 程序
- done
- #!/bin/bash
-
- #从命令行输入一个数 n,统计从 1+..+ n 的值是多少?
-
- SUM=0
- i=0
- while [ $i -le $1 ]
- do
- SUM=$[$SUM+$i]
- i=$[$i+1]
- done
- echo "SUM=$SUM"
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。