#shell的数加减乘除
#使用expr要保持空格
#计算3 -2
expr 3 - 2
#(2*3)*12
expr `expr 2 \* 3` \* 12
#72/6
expr 72 / 6
#使用$的方法
s=$[(2+4)*6]
特殊变量$的各个符号意义如下
$?:上条命令的返回值
$#:参数个数
$*:参数列表
@
:
参
数
列
表
(
但
被
"
"
包
含
时
候
会
分
别
输
出
,
与
@:参数列表(但被""包含时候会分别输出,与
@:参数列表(但被""包含时候会分别输出,与*相反)
$0-n:$0:脚本名
1
−
1-
1−n:第n个参数
获取10以上的参数 ${n}
#! /bin/bash
echo hello+$1
B=$1
#输出第一个参数
echo $1
#输出第二个参数
echo $2
#输出上一条命令的返回值 成功为0
echo $?
#输出参数的个数
echo $#
#输出参数列表
echo $*
#bash的判断
#-lt 小于 -ge 大于等于 -eq等于 -ge大于等于 -gt 大于 -le小于等于 -ne不等于
#!/bin/bash
for i in $*
do
if [ $i -gt 7 ]
then
echo "大于7"
elif [ $i -le 6 ]
then
echo "小于等于6"
else echo "等于7"
fi
done
#文件类型的判断 -f 存在且为普通文件 -e 文件存在 -s 文件存在且非空 -d 文件存在且为目录 -L 文件存在且为链接
#不存在该文件
[ -e /root/shellfile/100.sh ]
#存在该目录
[ -d /root/shellfile/ ]
#不存在该软连接
[ -L /root/shellfile/lg.txt ]
#存在且非空
[ -s /root/shellfile/lg.txt ]
for循环在case语句中不需要加fi
#case语句
#!/bin/bash
for i in $*
do
case $i in
"1")
echo "男"
;;
"0")
echo "女"
;;
esac
done