1.shell脚本种的''中的命令不被解析会按照字符串处理
c='date +%Y-%m-%d'
echo $c
d=$(date +%Y-%m-%d)
echo $d
第一行的引号内的date指令不会做指令解析,第三行进行解析了。且第三行的$进行运算并赋值
运行结果为
date +%Y-%m-%d
2021-12-14
2.shell脚本的分支结构
e=5
if [ $e -lt 0 ]; then
echo $e是负数
elif [ $e -gt 0 ]; then
echo $e是正数
else
echo $e是0
fi
if 后若有运算需要用【】引起来,且【后空一格】前空一格,大于小于号用-表达式代替
判断条件后必须有;then。elif类似。最后结束带一个fi
3.mkdir -p 会递归创建文件
(base) [root@iZuf69q2pturgauawiazz0Z test]# mkdir /tmp/test/test/test
mkdir: 无法创建目录 “/tmp/test/test/test”: 没有那个文件或目录
(base) [root@iZuf69q2pturgauawiazz0Z test]# mkdir -p /tmp/test/test/test
(base) [root@iZuf69q2pturgauawiazz0Z test]# ll
总用量 4
-rw-r--r-- 1 root root 0 12月 14 22:29 0
drwxr-xr-x 3 root root 18 12月 14 22:42 test
若不加-p不会去递归的创建上层目录,直接报错。-p后文件被建立
4.$?是上个指令的结果码。注意是结果码,正确的结果码为0
date1111
echo $?
输出为未找到命令的错误码127
test20211214.sh:行13: date1111: 未找到命令
127
正确执行的结果码
date
echo $?
2021年 12月 14日 星期二 22:51:13 CST
0
5.$#判断参数个数
脚本
echo $#
执行
sh test20211214.sh 2 2 2 2
结果
4
附今日全部的脚本文件
c='date +%Y-%m-%d'
echo $c
d=$(date +%Y-%m-%d)
echo $d
e=5
if [ $e -lt 0 ]; then
echo $e是负数
elif [ $e -gt 0 ]; then
echo $e是正数
else
echo $e是0
fi
date
echo $?
echo $#
明日继续更新。每天进步一点点