因为之前已经学习过一些基础的了,这篇笔记仅用于自己的查漏补缺,所以都是一些比较碎的知识点
bash
1.在用shell写脚本的时候代入变量时可以这样
image.png2.if的一些参数
image.pngimage.png
image.png
·示例: 提示用户输入值。若输入的值小于0,则输出“negtive number”;若等于0,则输出“number zero”,否则,输出“positive number”。
#!/bin/bash
# 提示用户输入一个值
echo -n "please input a number:"
# 保存用户输入的值到num中
read num
if [ "$num" -lt "0" ];then
# 小于0,则输出“negtive number”
echo "negtive number"
elif [ "$num" -gt "0" ];then
# 大于0,则输出“positive number”
echo "positive number"
else
# 大于0,则输出"number zero"
echo "number zero"
fi
exit 0
3.for loop
基本格式:
for 变量名in列表
do
命令1
命令2...
done
格式说明:
当变量值在列表里, for循环即执行一次所有命令,使用变量名访问列表中取值。命令可为任何有效的 shell命令和语句。变量名为任何单词。 in列表用法是可选的,如果不用它, for循环使用命 令行的位置参数。
·示例:
输入当前文件夹的一级子目录中文件名字。
#!/bin/bash
# 将ls的结果保存到变量CUR_DIR中
CUR_DIR=`ls`
# 显示ls的结果
echo $CUR_DIR
for val in $CUR_DIR
do
# 若val是文件,则输出该文件名
if [ -f $val ];then
echo "FILE: $val"
fi
done
exit 0
4 break and continue
基本格式
break命令允许跳出循环。 continue命令类似于 break命令,只有一点重要差别,它不会跳出循环,只是跳过这个循环步。
-
示例:
从0开始逐步递增,当数值等于5时,停止递增。Bash脚本内容如下:
#!/bin/bash
# 设置起始值为0
val=0
while true
do
if [ "$val" -eq "5" ];then
# 如果val=5,则跳出循环
break;
else
# 输出数值
echo "val=$val"
# 将数值加1
((val++))
fi
done
exit 0
-
示例:
从0开始逐步递增到10:当数值为5时,将数值递增2;否则,输出数值。
#!/bin/bash
# 设置起始值为0
val=0
while [ "$val" -le "10" ]
do
if [ "$val" -eq "5" ];then
# 如果val=5,则将数值加2
((val=$val+2))
continue;
else
# 输出数值
echo "val=$val"
# 将数值加1
((val++))
fi
done
exit 0
网友评论