菜鸟学Linux 第022篇笔记 case语句、脚本

简介:

菜鸟学Linux 第022篇笔记  case语句



面向过程

控制结构

顺序结构

选择结构

循环结构

面向对象



选择结构

if:单分支、双分支、多分支

单: if condition; then

  statement

  ...

fi

多: if condition; then

  statement1

  ...

elif condition2; then

  statement2

  ...

fi

case 语句: 

case SWITCH in 

value1)

statement1

...

;;

value2)

statement2

...

;;

*)

statement*

...

;;

esac

e.g.

#!/bin/bash

#

case $1 in

'start')

  echo "Start server...";;

'stop')

  echo "Stopping server...";;

'status')

  echo "Running...";;

'restart')

  echo "Restarting server...";;

*)

  echo "`basename $0` {start|stop|restart:status}";;

esac

script 1

使脚本接受参数-v|verbalse -add user,user... 添加并显示添加信息

不加-v|verbal 则不显示,并添加-h|--help功能(注 此脚本不可接受错误参数)

#!/bin/bash

#

DEBUG=0

ADD=0

DEL=0

for S in `seq 1 $#`; do

case $1 in

-v|--verbouse)

  DEBUG=1

  shift ;;

-h|--help)

  echo "Usage: `basename $0` --add USER_LIST --del USER_LIST -v|--verbouse -h|--help"

  exit 0

  ;;

-add)

  ADD=1

  ADDUSERS=$2

  shift 2

  ;;

-del)

  DEL=1

  DELUSERS=$2

  shift 2

#*)

#  echo "Usage: `basename $0` --add USER_LIST --del USER_LIST -v|--verbouse -h|--help"

#  exit 0

#  ;;

esac

done



if [ $ADD -eq 1 ]; then

  for USER in `echo $ADDUSERS | sed 's/,/ /g'`; do

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

  [ $DEBUG -eq 1 ] && echo "ADD $USER finished."

  useradd $USER

else

  echo "$USER is exist."

fi

  done

fi


if [ $DEL -eq 1 ]; then

  for USER in `echo $DELUSERS | sed 's/,/ /g'`; do

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

  [ $DEBUG -eq 1 ] && echo "DEL $USER "

  userdel -r $USER

else

  echo "No such $USER "

fi

  done

fi

本文转自Winthcloud博客51CTO博客,原文链接http://blog.51cto.com/winthcloud/1867717如需转载请自行联系原作者


Winthcloud

相关文章
|
1月前
|
安全 Linux Shell
Linux上执行内存中的脚本和程序
【9月更文挑战第3天】在 Linux 系统中,可以通过多种方式执行内存中的脚本和程序:一是使用 `eval` 命令直接执行内存中的脚本内容;二是利用管道将脚本内容传递给 `bash` 解释器执行;三是将编译好的程序复制到 `/dev/shm` 并执行。这些方法虽便捷,但也需谨慎操作以避免安全风险。
|
2月前
|
Linux
在Linux中,怎么把脚本添加到系统服务里,即用 service 来调用?
在Linux中,怎么把脚本添加到系统服务里,即用 service 来调用?
|
11天前
|
人工智能 监控 Shell
常用的 55 个 Linux Shell 脚本(包括基础案例、文件操作、实用工具、图形化、sed、gawk)
这篇文章提供了55个常用的Linux Shell脚本实例,涵盖基础案例、文件操作、实用工具、图形化界面及sed、gawk的使用。
27 2
|
1月前
|
Shell Linux 开发工具
linux shell 脚本调试技巧
【9月更文挑战第3天】在Linux中调试shell脚本可采用多种技巧:使用`-x`选项显示每行命令及变量扩展情况;通过`read`或`trap`设置断点;利用`echo`检查变量值,`set`显示所有变量;检查退出状态码 `$?` 进行错误处理;使用`bashdb`等调试工具实现更复杂调试功能。
|
2月前
|
安全 Linux 开发工具
探索Linux操作系统:从命令行到脚本编程
【8月更文挑战第31天】在这篇文章中,我们将一起潜入Linux操作系统的海洋,从最基础的命令行操作开始,逐步深入到编写实用的脚本。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供新的视角和实用技能。我们将通过实际代码示例,展示如何在日常工作中利用Linux的强大功能来简化任务和提高效率。准备好了吗?让我们一起开启这段旅程,探索Linux的奥秘吧!
|
2月前
|
Linux
探索Linux操作系统:命令行与脚本编程基础
【8月更文挑战第31天】在这篇文章中,我们将一起踏上一段旅程,深入探索Linux操作系统的奥秘。通过学习命令行的使用和编写简单的脚本,你将能够更高效地与你的计算机进行交流。无论你是新手还是有经验的用户,本文都将为你打开一扇通往Linux世界的大门。准备好了吗?让我们开始吧!
|
2月前
|
运维 监控 Linux
深入理解Linux系统运维:命令行与脚本的奥秘
【8月更文挑战第30天】在Linux的世界里,命令行是运维人员的灵魂之窗。掌握命令行,就像握住了一把钥匙,能开启系统管理的宝藏箱。本文将带你走进Linux的命令行世界,通过实际代码示例,解锁那些高效管理和维护系统的秘籍。你将学到不仅仅是命令本身,更是如何将这些命令编织成强大的脚本,让日常的运维工作变得游刃有余。准备好跟随我的步伐,一起深入探索Linux命令行与脚本的奥秘吧!
|
2月前
|
监控 Shell Linux
在Linux中,如何使用shell脚本检测磁盘使用率?
在Linux中,如何使用shell脚本检测磁盘使用率?
|
2月前
|
Shell Linux 开发工具
在Linux中,如何编写shell脚本将当前目录下大于10K的文件转移到/tmp目录下?
在Linux中,如何编写shell脚本将当前目录下大于10K的文件转移到/tmp目录下?
|
2月前
|
监控 Linux
在Linux中,有⼀个脚本运行时间可能超过2天,如何做才能使其不间断的运行,而且还可以随时观察脚本运行时的输出信息?
在Linux中,有⼀个脚本运行时间可能超过2天,如何做才能使其不间断的运行,而且还可以随时观察脚本运行时的输出信息?
下一篇
无影云桌面