8.2磁盘2

简介:

echo -n 不换行输出

#!/bin/bash

#

declare -i MAX=0

declare -i MIN=0

for I in {1..10};do

  MYRAND=$RAMDOM

  [ $I -eq 1 ] && MIN=$MYRAND

  if [ $I -le 9 ];then

    echo -n "$MYRAND,"

  else

    echo "$MYRAND"

  fi

  [ $MYRAND -gt $MAX ] && MAX=$MYRAND

  [ $MYRAND -lt $MIN ] && MIN=$MYRAND

done


echo $MAX

echo $MAX


面向过程:

    控制结构

         顺序结构

         选择结构

         循环结构


选择结构:

if:单分支 双分支 多分支

if CONDITION;then

   statement

   ...

fi


if CONDITION;then

   statement

   ...

else

   statement

   ...

fi


if   CONDITION;then

   statement

elif CONDITION;then

   statement

else CONDITION;then

   statement

fi


case 语句;选择结构

     变量的值

case SWITCH in

value1)

   statement

   ...

   ;;

value2)

   statement

   ...

   ;;

*)

   statement

   ...

   ;;

esac


#!/bin/bash

#

case $1 in

[0-9])

   echo "A digit" ;;

[a-z])

   echo "Lower" ;;

[A-z])

   echo "Upper" ;;

*)

   echo "Spacial character." ;;

esac


接受参数,start stop restart status其中之一

#!/bin/bash

#

case $1 in

'start')

  echo "start server ..." ;;

'stop')

  echo "stop server ..." ;;

'restart')

  echo "Restart server ..." ;;

'status')

  echo "running ..." ;;

*)

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

esac


写一个脚本,可以接收选项及参数,而后获取每一个选项,及选项的参数;

  并能根据选项及参数做出特点的操作,比如

adminusers.sh --add tom,jerry 

              --del tom,blair 

              -v|--verbose 

              -h|--help

vi debug.sh

#!/bin/bash

#

DEBUG=0

case $1 in

-v|--verbose)

   DEBUG=1 ;;

*)

  echo "Unkown options"

  exit 7

  ;;

esac


[ $DEBUG -eq 1 ] && echo hello


vi adduser.sh

#!/bin/bash

#

DEBUG=0

ADD=0

DEL=0

case $1 in

-v|--verbose)

   DEBUG=1 ;;

esac


useradd tom &> /dev/null

[ $DEBUG -eq 1 ] && echo "Add user finished"


vim adminusers.sh

#!/bin/bash

#

DEBUG=0

ADD=0

DEL=0


for I in `seq 1 $#`;do

case $1 in

-v|--verbose)

  DEBUG=1 

  shift $1 ;;

-h|--help)

  echo "Usage:`bashname $0` --add USER_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:`bashname $0` --add USER_LIST --del USER_LIST -v|      #  verbose -h|--help "

#  exit 7  ;;

esac

done


if [ $ADD -eq 1 ];then

  for USERS in `echo $ADDUSERS | sed 's@,@ @g'` ;do

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

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

    else

      useradd $USER

      [ $USER -eq 1 ] && echo "$USER finished"

    fi

  done

fi


if [ $DEL -eq 1 ];then

  for USERS in `echo $DELUSERS | sed 's@,@ @g'` ;do

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

       usedell -r  $USER;

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

    else

       [ $USER -eq 1 ] && echo "$USER not exist"

    fi

  done

fi






















     

































































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




相关文章
|
数据库 数据安全/隐私保护
解决不知道数据库用户名密码下如何登陆问题
解决不知道数据库用户名密码下如何登陆问题
101 0
|
算法 安全 Linux
【Linux】从零开始认识进程 — 终篇
在系统当中查找一个最合适调度的进程的时间复杂度是一个常数,不随着进程增多而导致时间成本增加,我们称之为进程调度O(1)算法!
73 0
|
安全 前端开发 JavaScript
斐迅面试记录—SSL和TLS的区别
斐迅面试记录—SSL和TLS的区别
184 0
|
3天前
|
人工智能 运维 安全
|
5天前
|
SpringCloudAlibaba 负载均衡 Dubbo
微服务架构下Feign和Dubbo的性能大比拼,到底鹿死谁手?
本文对比分析了SpringCloudAlibaba框架下Feign与Dubbo的服务调用性能及差异。Feign基于HTTP协议,使用简单,适合轻量级微服务架构;Dubbo采用RPC通信,性能更优,支持丰富的服务治理功能。通过实际测试,Dubbo在调用性能、负载均衡和服务发现方面表现更出色。两者各有适用场景,可根据项目需求灵活选择。
393 124
微服务架构下Feign和Dubbo的性能大比拼,到底鹿死谁手?
|
8天前
|
人工智能 JavaScript 测试技术
Qwen3-Coder入门教程|10分钟搞定安装配置
Qwen3-Coder 挑战赛简介:无论你是编程小白还是办公达人,都能通过本教程快速上手 Qwen-Code CLI,利用 AI 轻松实现代码编写、文档处理等任务。内容涵盖 API 配置、CLI 安装及多种实用案例,助你提升效率,体验智能编码的乐趣。
741 109
|
2天前
|
算法 Python
【轴承故障诊断】一种用于轴承故障诊断的稀疏贝叶斯学习(SBL),两种群稀疏学习算法来提取故障脉冲,第一种仅利用故障脉冲的群稀疏性,第二种则利用故障脉冲的额外周期性行为(Matlab代码实现)
【轴承故障诊断】一种用于轴承故障诊断的稀疏贝叶斯学习(SBL),两种群稀疏学习算法来提取故障脉冲,第一种仅利用故障脉冲的群稀疏性,第二种则利用故障脉冲的额外周期性行为(Matlab代码实现)
229 152