脚本编辑$RANDOM 和 case语句 (笔记)
$RANDOM
个人理解是一个用来生成随机数的一个变量 ,由此编写一个脚本
[root@localhost script]# cat random.sh
#!/bin/bash
#
declare -i MAX=0
declare -i MIN=0
for I in `seq 1 10`; do
MYRANDOM=$RANDOM
[ $I -eq 1 ] && MIN=$RANDOM
if [ $I -le 9 ]; then
echo -n "$MYRANDOM,"
else
echo "$MYRANDOM"
fi
[ $MYRANDOM -gt $MAX ] && MAX=$MYRANDOM
[ $MYRANDOM -lt $MIN ] && MIN=$MYRANDOM
done
echo $MAX, $MIN
[root@localhost script]#
此脚本是用来将所生成的随机数 比大小 比出一个最大数和最小数并显示
脚本执行结果:
[root@localhost script]# bash random.sh
20744,24195,5854,24168,10197,16685,10095,27664,14198,22593
27664, 5854
[root@localhost script]#
编程分为两类
面向过程
控制结构
顺序结构
选择结构
循环结构
面向对象
选择结构
if语句: 单分支 双分支 多分支
现在一种新的选择结构 case
使用格式
case $1 in
value1)
statement
...
;; (注意一定要加双分号)
value2)
statement
...
;;
value3)
statement
...
;;
esac
下面一个简单的脚本 当用户在后边跟一个参数 会识别该是数字还是大写字母还是小写字母,还是特殊字符
[root@localhost script]# cat recognition.sh
#!/bin/bash
#
case $1 in
[0-9] )
echo "a number" ;;
[[:upper:]] )
echo "upper" ;;
[[:lower:]] )
echo "a lower case" ;;
*)
echo "Special character";;
esac
[root@localhost script]#
执行结果:
[root@localhost script]# ./recognition.sh 2
a number
[root@localhost script]# ./recognition.sh E
upper
[root@localhost script]# ./recognition.sh e
a lower case
[root@localhost script]# ./recognition.sh #
Special character
[root@localhost script]#
当然我这个只支持单字符,以后学习高级了再练习,这里只做简单介绍!!OO
下边又是一个例子: 个人研究了一上午才把老师所说的编写出来
这个用途是 使用
./adminustrator -v --add user1,user2,user
这个脚本可以跟多个参数来添加用户,并且可显示信息或者不显示 后边可以多个参数
[root@localhost script]# cat adminusers3.sh
#!/bin/bash
#
DEBUG=0
ADD=0
DEL=1
for I in `seq 1 $#`; do
case $1 in
-v|--verbose)
DEBUG=1
shift ;;
-h|--help)
echo "Usage: `basename $0` --add USER_LISET --del USER_LIST -v|--verbose -h|--help"
exit 0 ;;
--add)
ADD=1
ADDUSER=$2
shift 2 ;;
--del)
DEL=1
DELUSER=$2
shift 2 ;;
#*)
# echo "unknown option" ;;
esac
done
if [ $ADD -eq 1 ]; then
for USER in `echo $ADDUSER | sed 's/,/ /g'`; do
if id $USER &> /dev/null; then
[ $DEBUG -eq 1 ] && echo "$USER exist"
else
useradd $USER
[ $DEBUG -eq 1 ] && echo "$USER add finished"
fi
done
fi
if [ $DEL -eq 1 ]; then
for USER2 in `echo $DELUSER | sed 's@,@ @g'`; do
if id $USER2 &> /dev/null; then
userdel -r $USER2
[ $DEBUG -eq 1 ] && echo "$USER2 del successful!"
else
echo "$USER2 is not exist"
fi
done
fi
[root@localhost script]#
End
Thanks for your watching!
本文转自Winthcloud博客51CTO博客,原文链接http://blog.51cto.com/winthcloud/1651185如需转载请自行联系原作者
Winthcloud
脚本编辑$RANDOM 和 case语句 (笔记)相关推荐
- bash脚本之case语句应用,while、until和select循环应用及其示例
bash脚本编程: case选择分支结构: case: case 词 in [模式 [| 模式]...) 命令 ;;]... esac 在脚本中使用case的结构: case ${VAR_NAME} ...
- shell脚本条件测试、正整数字符串比较与if、case语句
目录 条件测试 三种测试方法 选项 比较整数数值 字符串比较 脚本中常用命令 echo命令 date命令 cal命令 tr命令 cut命令 sort命令 uniq命令 cat多行重定向 if语句 分支 ...
- Linux高级专题详解--shell编程大全(shell变量,if语句,case语句,for循环,while循环,函数调用,数组,正则表达式,shell脚本三剑客--grep,sed,awk家族)
shell编程 初始shell 程序 语言 编程 ---------------------------------- 语言 自然语言:汉语.英语 计算机语言:c语言.c++.(java php py ...
- shell脚本求和_【零基础学云计算】Shell编程之case语句与循环语句
case多分支语句 循环语句 for循环语句 while循环语句 untli循环语句 Shell函数 Shell数组 case语句的结构 针对变量的不同取值,分别执行不同的命令序列 case 变量值 ...
- Linux疑难杂症解决方案100篇(五)-SHELL脚本中case语句的多种使用场景
目录 掌握case语句的基本语法结构 掌握函数的定义及调用 掌握常用的正则表达式元字符含义 一.case语句 case语句为多重匹配语句 如果匹配成功,执行相匹配的命令 1. 语法结构 说明:patt ...
- linux sh文件case,Shell脚本case语句简明教程
Shell case语句为多选择语句.可以用case语句匹配一个值与一个模式,如果匹配成功,执行相匹配的命令.case语句格式如下: case 值 in 模式1) command1 command2 ...
- 第八课-第二讲 08_02_bash脚本编程之七 case语句及脚本选项进阶
第八课-第二讲 08_02_bash脚本编程之七 case语句及脚本选项进阶 一. 面向过程 控制结构 顺序结构 选择结构 循环结构 选择结构 if语句 单分支,双分支,多分支 case 语句 cas ...
- shell支持loop吗_Shell脚本case语句和loop语句,与,循环
case分支语句 case语句可以使用脚本程序的结构更加清晰,层次分明. case语句的结构 case语句主要适用于以下情况:莫个变量存在多种取值,需要对其中的每一种取值分别执行不同的命令序列.跟if ...
- 2个简单shell脚本(if,while,case语句)
实验要求: 1.编写一个名为sum.sh的脚本,提示用户输入一个小于100的整数,并计算从1到该数之间所有整数的和 2.编写一个名为tar.sh的脚本,用来解压.tar.gz或.tar.bz2格式的压 ...
最新文章
- 8086汇编学习笔记10-端口
- 2020年余丙森概率统计强化笔记-第五章 大数定律和中心极限定理 第六章 数理统计
- linux iconv函数失败,Linux 编码转换 (iconv失败的解决方法)
- 感谢CSDN赠送的2021年新年礼物
- 手写springboot_Spring Boot 入门教程 | 图文讲解
- 看了500个人的面经:我发现混的好的程序员,都在用这个数据库!
- 医疗行业源代码该如何保密
- 招银网络-信息科技风险管理工程师-笔试-安全
- iOS大神牛人的博客集合
- oracle裁员原因_导致Oracle全球性裁员的原因有哪些?
- 视频封装格式篇--MP4
- html embed音乐循环,加入视频或音乐——embed基本语法
- 日期,Wed Nov 24 2021 08:00:00 GMT+0800 (GMT+08:00) 相互转换
- 巧用 CSS 实现炫彩三角边框动画
- MongoDB 主从复制(Master-Slaver)实验
- nodejs到底是什么?
- 可视化篇:Echarts2.0引入百度地图(转载)
- Origin pro更改语言灰色时的解决办法
- vue 关闭vue项目中烦死人的ESlint
- 汇编总结:lea指令
热门文章
- iMindMate- A new mind mapping software.
- HttpApplication的认识与加深理解
- 【PMP】Head First PMP 学习笔记 第十章 沟通管理
- 自定义Sublime Text图标详细教程
- android检查可用网络的代码
- AjaxPro无刷新选择列表框/下拉框[方便|稳定]
- Etcd集群的介绍和选主应用
- python中如何统计元组中元素的个数_python-无论元素顺序如何,获取列表中的元组数...
- Spring Security OAuth2整合JWT
- RocketMQ如何保证消息不丢失? 如何快速处理积压消息?