参考链接:https://www.cnblogs.com/zhang-jun-jie/p/9266858.html
【1.基本结构】
#!/bin/bash
【2.执行】
sh test.sh
chmod +x test.sh ./test.sh ##vim编辑文档默认不带有执行权限
【3.日期】
date "+%Y-%m/%d %H:%M:%S" ##2020-03/21 19:31:15
date "+%Y-%m/%d %H:%M:%S" ##20-03/21 19:31:15
date -d "-1 day" "+%Y%m%d" ##20200320
date -d "+1 day" "+%Y%m%d" ##20200322
date -d "+1 month" "+%Y-%m/%d" ##2020-04/21
date -d "+1 year"+%Y-%m/%d" ##2021-03/21
date +%w ##6
【4.变量】
d='date +%H:%M:%S' $d
d1='date +%H:%M:%S' $d1
a=1
b=2
sum=$[$a+$b] ##数学计算要用’[ ]’括起来并且外头要带一个’$’
【5.交互】
echo "Please input a number..."
read x ##表示x变量的值需要用户通过键盘输入得到
echo "Please input another number..."
read y
sum=$[$x+$y]
echo "sum is $sum"
read -p "Please input a number..." x
read -p "Please input another number..." y
sum=$[$x+$y]
echo "sum is $sum"
实际上,shell脚本在执行的时候后边是可以跟变量的
【6.逻辑判断】
if((a<60)) ;then
echo "you didn't pass this test"
elif ((a>60)) &&((a<85));then ##这里的 && 表示“并且”的意思,当然你也可以使用 || 表示“或者”
echo "you pass this test"
else
echo "Verry Good"
fi
在判断数值大小除了可以用”(( ))”的形式外,还可以使用”[ ]”。
但是就不能使用>, < , = 这样的符号了,
要使用 -lt (小于),-gt (大于),-le (小于等于),-ge (大于等于),-eq (等于),-ne (不等于)
a=$[$n%2]
case $a in
1)
echo "The num is odd";;
0)
echo "The num is even";;
esac
【7.文档属性】
-e 判断文件/目录是否存在
-d 判断是否是目录,并是否存在
-f 判断是否是普通文件,并存在
-r 判断文档是否有可读权限
-w 写
-x 执行
if[-e filename];then
【8.循环】
for i in `seq 1 5`; do
echo $i
done
##你也可以试试,for i in `ls`; do echo $i; done 和 for i in `cat test.txt`; do echo $i; done
while [$a -ge 1];do
echo "a"
a=$[$a-1]
done
【9.函数】
function sum(){
sum=$[$1+$2]
echo $sum
}
sum $1 $2