10-11

printf

printf "value=%s\n" "${value}"

read

printf“0”
read value
printf“这个值=%s\n” "${value}"
1)用法:从键盘读入一个值,赋给read后面的变量
2)read尽量不要使用同时输入多个值,
比如:read value1 value2
%m.nf:右对齐m.nf:左对齐

expr

a=1
b=2
c=expr $a \* $b
echo "${c}"
进行基本运算
运算符
1)算数运算符 + - * / % ++ -- += -= /=
注意点:的数据
运算符左右两边都有空格
取结果集 注意乘法 *必须要通过\转义,不然会出错 $()也是和一样的取结果集,不但可以取整数,还可以取shall命令的结果集,比如
a=$(ls)
echo "${a}"

let 关键字

a=1
b=2
let c=a*b
echo "${c}"
整数之间的关系运算符 echo 用之前加个
< > ==或者= !=

if语句语法格式


if【 a -ge b 】
then
语句体
fi


-gt > -ge >= -lt < -le <= -eq == -ne !=
g: greater t:then e: equal l:less n:not


if【 a -ge b 】
then
语句体
elif [ a -gt b ]
then
语句体
fi


else 可以没有 如果有else 必须放在最后面
else 下面没有then
字符串运算符
=:判断字符串是否相等
!=:判断字符串是否不相等
-z(zero:判断字符串是否为空、不存在或者字符串为空格
文件运算符

-d 表示判断是否是目录文件
-f 表示判断是否是普通文件
-r 表示判断是否可读
-w
-x
-e:exist,判断文件是否存在

案例:

file="1.sh"
if [ -d $file ]
then
echo "目录文件"
else
echo "不是目录文件"
fi

case
case 变量 in
值1)
语句体1
;;
值2)
语句体2
;;

语句3
;;
esac
注意点:
1 结束标志 esac,
2 如果前面的值都不符合,这时会来到

3 )可以不写,但是写的话只能放到最后
4 每一个分支结束之后都有;;
数组
1)数组初始化一个一个变量进行初始化,可以间隔赋值,还可以不从0位置开始
比如array【1】=17
array【5】=1
2)数组整体赋值
array=(1 2 3 4 hello)
数组元素访问
${数组名【下标】}
遍历数组里面所有的元素
${数组名【
】}
${数组名【@】}

while [ ]
do
语句体
done
参数
./xx.sh
$0:代表执行的文件 ./xx.sh
$1:代表执行的第一个参数
$2:代表执行的第二个参数
$n:代表执行的第n个参数
$#:代表执行的参数个数,不包含命令本身
sh 1.sh
1.判断文件是否存在
2.如果存在,判断文件是否是普通文件
3.如果是普通文件,修改权限
4.执行
5.让命令在全局有效

你可能感兴趣的:(10-11)