shell脚本编程基础
条件选择:if语句
选择执行:
注意:if语句可嵌套
单分支
if(开头)判断条件;then
条件为真的分支代码
fi(结尾)
双分支
if(开头)判断条件;then
条件为真的分支代码
else:其他
条件为假的分支代码
fi(结尾)
多分支
输入年龄显示相对应设置的shell脚本:
read -p "Please input yourage: " AGE
if [[ ! $AGE =~ ^[0-9]+$ ]];then
echo "$AGE is not a digit"
exit
elif [ $AGE -lt 18 ];then
echo "study hard"
elif [ $AGE -lt 60 ];then
echo "work hard"
elif [$AGE -lt 150 ]:then
echo "enjoy life"
else
echo "welcome to earth"
fi
条件判断:case语句
举个栗子:输入1-9,反馈(1、3、5)(2、4、6)(7、8、9) ,除此之外,如输入1-9以外的数字,则反馈other。
case$1 in
1|3|5)
echo 1,3,5
;;
2|4|6
echo 2,4,6
;;
7|8|9
echo 7,8,9
;;
*)
echo other
esac
编辑配置文件生效
修改profile和bashrc文件后需生效
两种方法:
1、重新启动shell进程
2、. 或者source
例:.~/. bashrc
$变量
echo $- :显示 himBH
h:hashall,打开此选项后,Shall会将命令所在的路径hash下来,避免每次都要查询。通过set +h将h选项关闭,set -h开启选项。
i:interactive-comments,包括
B 花括号扩展
H history 历史命令,H选项打开,可以展开历史列表中的命令,可以通过!感叹号来完成,例如“!!”返回最近的一个命令, “!n”返回第n个历史命令
脚本安全
set 命令
- -u 在扩展一个没有设置的变量时,显示错误信息
等同set –o nounset - -e 如果一个命令返回一个非0退出状态值(失败)就退出
等同set –o errexit