linux基础—课堂随笔_03 SHELL脚本编程基础

时间:2022-05-19 10:12:24

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