case语句

case语句:选择结构

case SWITCH in

value1 )

statement

;;

value2)

statement

;;

*)

statement

;;

esac

写一个脚本显示用户输入的1个字符是字母或者是数字等。

#!/bin/bash

#

case $1 in

[0-9])

echo ‘shuzi‘

;;

[a-z])

echo ‘xiaoxiezimu‘

;;

[A-Z])

echo ‘daxiezimu‘

;;

*)

echo ‘teshuzifu‘

;;

esac

写一个脚本,可以接受选项及参数,而后能获取每一个选项,及选项的参数:并能根据选项及参数做出特定的操作。比如:adminusers.sh  --add tom,jerry–del tom,blair –v|--verbose –h |--help

#!/bin/bash

#

DEBUG=0

DEL=0

ADD=0

for I in `seq 1 $#`;do

if [ $# -gt 0 ];then

case $1 in

-v|--verbose)

DEBUG=1

shift

;;

-h|--help)

echo "Usage: `basename $0` --addUSER_LIST  --del USER_LIST –v|--verbose–h |--help."

exit 0

;;

--add)

ADD=1

ADDUSERS=$2

shift 2

;;

--del)

DEL=1

DELUSERS=$2

shift 2

;;

*)

echo "Usage: `basename $0` --addUSER_LIST  --del USER_LIST.v|--verbose  h |--help."

exit 6

;;

esac

fi

done

if [ $ADD -eq 1 ];then

forUSER in `echo $ADDUSERS | sed ‘[email protected],@ @g‘`; do

if id $USER &>/dev/null; then

[ $DEBUG -eq 1 ] && echo ”$USER exists.”

else

useradd $USER

[ $DEBUG -eq 1 ] && echo “Add user $USER finished.”

fi

done

fi

if [ $DEL -eq 1 ]; then

forUSER in `echo $DELUSERS | sed ‘[email protected],@ @g‘`; do

if id $USER &> /dev/null;then

userdel -r $USER

[ $DEBUG -eq 1 ] && echo "Delete $USER finnished."

else

[ $DEBUG -eq 1 ] && echo "$USER not exists."

fi

done

fi

写一个脚本showlogged.sh,其用法格式为:

Showlogged.sh –v –c –h|--help 其中,-h选项只能单独使用,用于显示帮助信息:-c选项时,显示当前系统上登录的所有用户数;如果同时使用-v选项,则既显示同时登录的用户数,又显示登录的用户的相关信息。

#!/bin/bash

#

declare -i SHOWNUM=0

declare -i SHOWUSERS=0

for I in `seq 1 $#`;do

case $1 in

-v)

SHOWUSERS=1

shift

;;

-c)

SHOWNUM=1

shift

;;

-h|--help)

echo "Usage:`basename $0sh` -h|--help|-c|-v"

exit 0

;;

*)

echo "Usage:`basename $0sh` -h|--help|-c|-v"

exit 2

;;

esac

done

if [ $SHOWNUM -eq 1 ];then

echo "Loged users: `who | wc -l`."

if[ $SHOWUSERS -eq 1 ] ;then

echo "They are:"

who

fi

fi

时间: 2024-10-21 12:00:50

case语句的相关文章

bash脚本编程之case语句及脚本选项进阶

case语句及脚本选项进阶详解     面向过程程序设计语言中的控制流(即程序当中的语句)默认是顺序执行的. 程序设计语言的控制结构一共有三类: 1,顺序结构 2,选择结构 (1)if语句 ->单分支的if语句 格式:if condition1;then expression ... fi ->双分支的if语句 格式:if condition1;then expression ... else expression ... fi ->多分支的if语句 格式:if condition1;t

case语句脚本练习

#! /bin/sh # 加减乘除的小脚本,主要练习case语句 case $2 in +) echo "$1 + $3 = `expr $1 + $3` " ;; -) echo "$1 - $3 = `expr $1 - $3`" ;; \*) echo "$1 * $3 = `expr $1 \* $3`" ;; /) if [ $3 = 0 ] then echo "除数不能为0" else echo "$1

条件判断之if、case语句和文件查找命令

一.脚本编程 1.if语句怎样用 人生面临许多选择,在编程世界里同样也有许多选择.同其他编程语言一样,当我们想写一个功能健壮的脚本时,通过条件判断来选择适合的操作尤为重要.在我们执行某些重要的操作之前,判断当前环境是否适合执行这一操作是非常重要的.我们可以用&&和||来做简单的判断,不过shell有更用的语句.shell有两种常见的条件选择语句if和case.我们先来看一下if该怎样用吧. if语句的单分支语法: if 条件判断 ;then;执行命令:fi [[email protecte

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:脚本选

case语句及脚本选项进阶

面向过程 控制结构 顺序结构 选择结构 循环结构 选择结构: if:单分支.双分支.多分支 cese语句:选择结构 case SWITCH in value1) statemnet ... ;; value2) statement ... ;; *) statement ... ;; esac [0-9] [a-z] [A-Z] [abc] #!/bin/bash # case $1 in [0-9]) echo "a digit";; [a-z]) echo "Lower&

(九)shell中case语句、程序传参、while

2.2.6.1.case语句(1)shell中的case语句和C语言中的switch case语句作用一样,格式有差异(2)shell中的case语句天生没有break,也不需要break,和C语言中的switch case不同.shell中的case默认就是匹配上哪个执行哪个,不会说执行完了还去执行后面的其他case(就好像shell中的case语言默认都带了break). 2.2.6.2.调用shell程序的传参(1)C语言中可以通过main函数的argc和argv给程序传参(详情参考<4.

c++模板元编程五:switch/case语句编译时运行

2.4 switch/case 替代 现在模拟switch/case语句,不过也是在编译期运行.先看调用代码和输出结果 // test case cout << "test case" << endl; Case<2>::Run(); test case case 2 实现代码很简单,还是模板特化 template<int v> class Case { public: static inline void Run() { cout &l

SQL Case 语句的使用

-----简单case 使用 select 学号,姓名, case 专业 when '金融系' then '1' when '材料成型及控制工程' then '2' else '3' end from stu SQL Case 语句的使用,布布扣,bubuko.com

Switch Case语句中多个值匹配同一个代码块的写法

switch ($p) { case 'home': case '': $current_home = 'current'; break; case 'users.online': case 'users.location': case 'users.featured': case 'users.new': case 'users.browse': case 'users.search': case 'users.staff': $current_users = 'current'; break

shell中的case语句

shell中case语法如下: case word in pattern1) Statement(s) to be execute if pattern1 matchs ;; pattern2) Statement(s) to be execute if pattern2 matchs ;; pattern3) Statement(s) to be execute if pattern3 matchs ;; *) Default action ;; esac [注]pattern模式不能包含元字