bash编程 :if,case语句

bash之条件判断(选择执行)
单分支if语句:
if CONDITION; then
if-true-分支
fi

示例:写一个脚本,如果文件不存在,就创建文件
#!/bin/bash
#
file=/root/fstab
  if [ ! -f $file ]; then
  touch $file
fi

双分支if语句:
if CONDITION; then
if-true-分支
else
if-true-分支
fi

示例:写一个脚本,如果文件不存在,就说文件不存在,并创建文件
#!/bin/bash
#
file=/root/fstab
if [ -f $file ]; then
  echo "file is not exists.."
else
  touch $file
  echo "touch file $file finished"
fi

多分支if语句
if CONDITION1; then
if- CONDITION1-true-分支
elif CONDITION2; then
if- CONDITION2-true-分支
else
其他-分支
fi

示例:写一个脚本,传递一个参数,判断给定的参数类型
#!/bin/bash
#
if [ $# -lt 1 ]; then
  echo "Plz enter a file path."
  exit 1
fi
if [ -f $1 ]; then
  echo "$1 is a file."
elif [ -d $1 ]; then
  echo "$1 is a mulu"
elif [ -b $1 ]; then
  echo "$1 is a kuai."
else
  echo "unknow file type"
fi

case语句:
简洁版多分支if语句;              
       使用场景:判断某变量的值是否为多种情形中的一种时使用;
 语法:
           case$VARIABLE in 
           PATTERN1)
              分支1
              ;;
           PATTERN2)
              分支2
              ;;
           PATTERN3)
              分支3
              ;;
           ...
           *)
              分支n
              ;;
           Esac
 

示例:判断用户给的参数,是数值,字符或者是其他类型
#!/bin/bash
#
read -p "Plz enter a shuzhi"char
 
case $char in
[a-z])
   echo "A character"
   ;;
[0-9])
   echo "A digit"
   ;;
*) echo "A unknown character"
esac
 
示例:根据用户给定的选项,做相应的操作
#!/bin/bash
#
prog=$(basename $0)
localfile="/var/tmp/$prog"
#echo $localfile
if [ $# -lt 1 ]; then
   echo "Usage: $prog start|stop|restart|status"
exit 1
fi
case $1 in
start)
   if [ -f $localfile ]; then
echo "$prog is starting yet"
     else
touch $localfile && echo "starting $prog ok" || echo "starting $prog failed.." 
   fi
   ;;
stop)
   if [ -f $localfile ]; then
rm -rf $localfile && echo "$prog is stoped..." 
   else
echo "$prog stopeding.."
   fi
   ;;
restart)
   if [ -f $localfile ]; then
rm -rf $localfile && touch $localfile && echo "restarting $prog ok..."
   else
touch $localfile && echo "$prog is stoped,starting $prog ok..."
   fi
   ;;
status)
   if [ -f $localfile ]; then
echo "$prog is running..."
   else
echo "$prog is stoping..."
   fi
   ;;
*)
echo "Usage: $prog start|stop|restart|status"
exit
esac
时间: 2024-12-19 17:57:58

bash编程 :if,case语句的相关文章

bash脚本之case语句应用,while、until和select循环应用及其示例

bash脚本编程: case选择分支结构: case: case 词 in [模式 [| 模式]...) 命令 ;;]... esac 在脚本中使用case的结构: case ${VAR_NAME} in PATTERN1) COMMAND ... ;; PATTERN2) COMMAND ... ;; ... esac 扩展: case ${VAR_NAME} in PATTERN1) COMMAND ... ;; PATTERN2) COMMAND ... ;; *)            

bash编程之case语句

一.语法格式 case 变量引用(${}) in value1)    #变量的值是value1,则执语句1,语句2,······ 语句1 语句2 ······ ;;    #每个分支结束时都需要以双分号结尾 value2)    #变量的值是value2,则执语句3,语句4,······ 语句3 语句4 ······ ;; value3)    #变量的值是value3,则执语句5,语句6,······ 语句5 语句6 ······ ;; *)    #其他任意情况,则执行语句7,语句8,··

第八课-第二讲 08_02_bash脚本编程之七 case语句及脚本选项进阶

一. 面向过程控制结构顺序结构选择结构循环结构选择结构if语句 单分支,双分支,多分支case 语句 case语句:选择结构 case SWITCH invalue1)---此处的value是当做字符来比较的statement.....;;value2)statement.....;;value3)statement.....;;*)statement.....;;esac 原文地址:http://blog.51cto.com/13788421/2147914

bash 编程中循环语句用法

1.if 是单分支语句,使用格式如下: if condition ; then statement ….. fi 2.if … else 是双分支语句,使用格式如下: if condition ; then statement …. else statement …. fi 3.if …elif…elif…else 是多分支语句,使用格式如下: if condition ; then statement …. elif condition ; then statement ….. elif co

shell编程之case语句

bash脚本编程: case语句: 多分支if语句: if CONDITION1; then 分支1 elif  CONDITION2; then 分支2 ... else CONDITION; then 分支n fi 示例1:显示一个菜单给用户: cpu) display cpu information mem) display memory information disk) display disks information quit) quit 要求:(1) 提示用户给出自己的选择: (

linux下Bash编程case语句及编写脚本(八)

1.case语句,格式如下: case 变量 in 值1) 语句1 ... ;;  每分支语句以分号结束 值2) 语句2 ... ;; *)    其他,相当于if语句else 语句3 ... ;; esac   整条case语句结束 2.编写一个任意添加与删除用户的脚本,要求如下: 2.1:如果脚本选项是-a或--add:,将添加用户; 如果选项是-d或--del,将删除用户, 如果是-h或--help显示帮助信息,如果是-v或--verbose显示执行过程,否则不显示执行过程 2.2:脚本选

bash脚本编程选择执行之case语句

选择执行的三种方式: (1) &&, || (2) if语句 (3) case语句 case语句的语法格式: case  $VARAIBLE  in PAT1) 分支1 ;; PAT2) 分支2 ;; ... *) 分支n ;; esac case支持glob风格的通配符: *:任意长度的任意字符: ?:任意单个字符: []:范围内任意单个字符: a|b:a或b: 示例:写一个服务框架脚本: $lockfile,  值/var/lock/subsys/SCRIPT_NAME (1) 此脚本

shell脚本编程学习笔记-case语句

1.case结构条件语句语法 case语句实际上就是规范的多分支if语句 case "字符串变量"in 值1)指令1- ;; 值2)指令2- ;; *)指令3- esac 中文编程语法: case "找女朋友条件"in 有房)嫁给你- ;; 你爸是李刚)嫁给你- ;; 努力吃苦)可以考虑先谈朋友- ;; *)good bye!!! esac 2.简单case脚本 输入1.2.3分别输出对应的值 [[email protected] jiaobenlianxi]# c

shell脚本编程基础之case语句

基础简介 脚本编程分为: 面向过程 选择结构:if语句,单分支.双分支.多分支:case语句 控制过程:顺序结构(默认) 循环结构 面向对象 case语句结构 case VAR_NAME in var_value1) #value被当做字符一个一个进行比较的:可以使用a-z,A-Z,0-9,[abc] statement1 ... ;; var_value2) statement2 ... ;; *) statement ... ;; esac case示例 Example1: #!/bin/b