测试shell脚本写的有没有问题
/bin/bash -n 文件名
正常
1.if条件判断语句
#第一种
if [ ];then
fi
#第二种
if [ ];then
else
fi
#第三种
if [[]];then
elif [[]];then
elif [[]];then
else
fi
1. 两个小括号(())或两个中括号[[]]在if里表示比较大小,if语句中通常用[]来表示条件测试,可以比较字符串、判断文件是否存等
2.简单案例一(比较两个数字的大小)
#!/bin/bash
#比较两个数字的大小
AA="50"
BB="100" `==等于 != 不等于`
if (($AA > $BB));then #注意:if 和 < 的空格
echo "$AA>$BB" #注意:格式要求:echo前边用tab
else
echo "&BB>&AA"
fi
用/bin/bash 文件名
运行
sh 文件名会有多余的东西
2.判断目录是否存在,不存在就新建
逻辑运算符解析:
- -f 判断文件是否存在
if [ -f filename ]
- -d 判断目录是否存在
if [ -d dir ]
- -eq 等于 应用:整数比较
- -ne 不等于 应用:整数比较
- -lt 小于 应用:整数比较
- -gt 大于 应用:整数比较
- -le 小于等于 应用:整数比较
- -ge 大于等于 应用:整数比较
- -a 双方都成立,(and)逻辑表达式
- -o 单方面成立,(or)
- -z 空字符串
注意格式-与中括号之间都有空格:if 空格
[ 空格
-d 空格
url 空格
];then
#!/bin/bash
#判断目录是否存在,不存在创建
url= "/home/bian/20200902"
if [ ! -d $url ];then
mkdir -p $url
echo "目录$url不存在,新建目录成功"
else
echo "目录$url存在"
3.判断文件是否存在,不存在新建,并追加文本,以及输出文本颜色配置
#!/bin/bash
file="20200904.txt"
if [ ! -f $file ];then # 问题:1.打开文件:-f
touch $file
echo "此文件不存在,新文件创建成功"
echo "Add a world to the $file" << $ile
else
echo "此文件以存在"
echo "Welcome to the $file" << $file #问题:1.<< 追加文本 2.< 覆盖文本 3.用echo
echo -e "\033[32m-------------\033[1m" #问题:1.-e 2.033 绿色 3.[0m 一行 4.[1m 所有
cat $file #打开问文件
多条件if语句
#第三种
#根据分数评优
s=$1 # 问题:/bin/bash 12 34 把12赋值给s $1=12 $2=34
if [ -z $s ] # 问题:-z 判断参数是否为空
echo "请重新运行并输入参数"
exit # 问题:exit 退出
fi
#---------------------------------------------------------------------------------------
if [[ $s -gt 80 ]];then
echo "优"
elif [[ $s -gt 60 ]];then # 问题:elif 相当于else if
echo "良"
elif [[ $s -gt 40 ]];then
echo"可"
else
echo "差"
fi