1、shell编程
2、解释执行器
1、sh
2、bash
##/etc/passwd查看用户的默认bash,sh解释执行器没有高亮显示,也没有自动补全
3、shell编程
1、所有的shell文件都是以 .sh 结尾
2、执行方式:
1、方式1
1、chmod +x ***.sh
2、./***.sh
2、方式2
sh ***.sh
3、示例
写一个shell文件,t1.sh,要求在用户主目录下创建目录AID18/mydir1,执行t1.sh验证结果
4、shell基础
1、变量赋值
1、变量名=值
## 注意 := 两侧不能有空格,name="张三丰"
2、赋值方式
1、直接赋值
x=10 y=20
2、获取命令的执行结果给变量赋值
1、time=$(date)
2、time=`date`
3、接收从键盘输入的字符给变量赋值
read -p "提示信息" -t 5 变量名
3、输出语句
echo $变量名
4、'' 和 "" 的区别
1、'' 无法获取变量的值
2、"" 可以获取变量的值
read -p "请输入姓名:" -t 5 name
echo '变量$name的值是:'$name
请输入姓名:金毛狮王
变量$name的值是:金毛狮王
5、撤销变量
unset 变量名
5、运算符
1、算术运算符
+ - * / %
++ : 自加1运算,类似于python中 i++ 等同于 i+=1
-- : 同++
运算命令:
1、let 运算表达式
i=1
let i++
echo $i
2、expr 运算表达式
i=1
sum=`expr $i + 5` # +两侧要有空格
echo $sum
2、比较运算符
1、文件状态
-e :文件/目录是否存在
-d : 判断是否为目录
-f : 判断是否为文件
2、字符比较
= 、!=
空 :-z
非空 :!-z 或者 -n
3、数值比较
等于 :-eq
大于 :-gt
>= :-ge
< :-lt
<= :-le
不等于:-ne
4、逻辑比较
逻辑与 :&& python中and
逻辑或 :|| python中or
6、if条件判断
1、语法格式
if [ 条件判断 ];then ## 条件判断两侧要加 空格
执行语句
fi
2、多分支
if [ 条件判断 ];then
执行语句
elif [ ];then
执行语句
...
else
执行语句
fi
3、输入两个数字,比较大小
#!/bin/bash
read -p "请输入第一个数字:" num1
read -p "请输入第二个数字:" num2
if [ $num1 -gt $num2 ];then
echo "$num1>$num2"
elif [ $num1 -lt $num2 ];then
echo "$num1<$num2"
else
echo "$num1=$num2"
fi
7、for循环1
1、语法格式
for 变量名 in 值列表
do
执行语句
done
2、造数方法 seq 起始值 步长 终止值
seq 5 --> 1 2 3 4 5
seq 1 2 10 --> 1 3 5 7 9
seq 2 2 10 --> 2 4 6 8 10
8、C-for循环
1、语法格式
for ((赋初值;条件判断;步长))
do
执行语句
done
2、输出1-5之间的整数
#!/bin/bash
for ((i=1;i<=5;i++))
do
echo $i
done
3、输出20-47之间的偶数
#!/bin/bash
for((i=20;i<=47;i++))
do
if [ `expr $i % 2` -eq 0 ];then
echo $i
fi
done