15bash编程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了15bash编程相关的知识,希望对你有一定的参考价值。

1、bash脚本编程:

    选择执行:if单分支、if双分支、if多分支;case语句


2、case语句:

语法格式:

case $VARIABLE in    //$VARIABLE是变量引用,in是关键字

PAT1)        //模式1

   分支1

   ;;     //以双分号结束分支1语句

PAT2)

   分支2

   ;;

...

*)        //所有都不匹配,为*,类似else

  分支n

   ;;

esca

注意:①、每个case中的模式语句必须以双分号结尾,这里的双分号可以单独成行,也可以放在每个分支的最后一条语句后面,PAT仅支持golb风格的通配符(*、?、[ ] 、[^ ])

    ②、case语句仅适用于一个变量与多个值分别做模式匹配时适用。


3、示例:显示一个如下菜单给用户

    cpu) display cpu information

    mem)display mem information

    disk)display disk information

    *) quit

要求:提示用户给出自己的选择

    正确的选择则给出相应的信息,否则,则提示重新选择正确的选项。

if语句实现:

[[email protected] sh]# cat   men.sh

#!/bin/bash

cat << EOF

cpu) display cpu information

mem)display mem information

disk)display disk information

 *) quit

EOF


read -p "enter your choice:" choice


while [ "$choice" != "cpu" -a "$choice" != "mem" -a "$choice" != "disk" -a "$choice" != "*" ];do

echo "please make sure your choice"

read -p "enter your choice again:" choice

done


if [ "$choice" == "cpu" ];then

lscpu

elif [ "$choice" == "mem" ];then

free

elif [ "$choice" == "disk" ];then

fdisk -l /dev/[hs]d[a-z]

else

echo "quit"

exit 4

fi

[[email protected] sh]# 

case语句实现:

[[email protected] sh]# cat  case.sh 

#!/bin/bash

cat << EOF

cpu) display cpu information

mem)display mem information

disk)display disk information

 *) quit

EOF


read -p "enter your choice:" choice


while [ "$choice" != "cpu" -a "$choice" != "mem" -a "$choice" != "disk" -a "$choice" != "*" ];do

echo "please make sure your choice"

read -p "enter your choice again:" choice

done


case $choice in

cpu)

lscpu;;

mem)

free

;;

disk)

fdisk -l /dev/[hs]d[a-z]

;;

*)

echo "quit"

exit 4

esac

[[email protected] sh]# 



















以上是关于15bash编程的主要内容,如果未能解决你的问题,请参考以下文章

15bash编程case函数

Bash 15分钟

bash脚本编程

linux shell编程bash编程shell教程bash教程shell文档bash文档shell脚本bash脚本教程第一部分:绪论

bash编程总结

bash特性中多命令执行的逻辑关系和bash脚本编程之编程