1. 变量
默认均为字符串类型
- 字符串
name1 = zhangsan //不用引号包裹
name2 = "zhang san" //如有空格必须用引号,单双都可以
message = "hello $name2" //使用刷双引号,会解析name2的值
echo $message //输出hello zhang san
echo \$message //输出$message
- 参数
set nice to meet you #设置4个参数
echo $1 #输出 第一个参数 $2,$3以此类推
echo $# #输出参数个数
echo "$@" #输出参数,以空格分割
echo "$*" #输出参数,以环境变量IFS的首字符分割,默认为空字符
2. 条件
语法
if test -f a.txt #判断a.txt是否存在,也可以写车
#if [ -f a.txt ] 效果同上,[] =test
then
....
fi
字符串比较
string1=string2 #判断字符串相等
string1!=string2 #判断字符串不等
-z string #空子符串返回true (记忆 zero)
-n string #不为空返回true
算术比较
-eq #相等
-ne #不相等
-gt -ge #大于 大于等于
-lt -le 小于 小于等于
文件判断
-d file # 是否为文件夹
-e file #文件是否能存在,不可移植,通常使用-f
-f file #是否文件
-r -w -x #是否可读 可写 可执行
3. 控制
- if
if condition
then
statement
elif condition
statement
then
statement
fi
- for
for number in 1 2 3 4
do
echo $number
done
exit 0
- while
- case
read number
case $number in
1|3|5|7|9 ) echo "我是奇数";;
2|4|6|8) echo "我是偶数";;
esac
exit 0
5. 函数
test(){ #函数定义
echo "hello function"
}
echo "call function"
test #直接写函数名即可调用
echo "function end"
exit 0
网友评论