文档章节

shell逻辑demo

牛角_
 牛角_
发布于 2014/05/11 21:52
字数 440
阅读 21
收藏 0
#!/bin/bash
# author liguibin


# ========================demo_01=====================================
for aa in 'a' 'b' 'c' 'd' #在循环的时候,后面的列表(参数直接必须有空格也可以不用单引号如:a b c d ) abcd会分别赋值给aa
do
  echo '........code.......';#要执行的shell程序
  echo $aa;#输出aa的值


  sleep 1; #每循环一次暂停一秒钟


done #结束循环


echo '============end======================';
#break;结束循环
#continue;跳出本次循环
#shift; 将传入的参数左边减去一个,在循环中依次类推
#========================demo_02======================================
# 假设有一个文件a.txt,里面的值为 1 2 3 4 5 6 ,注意:每个值一行
#循环读取a.txt文件里面的值,每循环一次,读取一行数据
for loop in `cat a.txt` # 注意符号(``)的用法,位于数字键1左边(笔记本) 
do
  echo 'start print str...'
  echo $loop
  sleep 1
done
#效果与demo_01差不多


#========================demo_03======================================
#此方法只是用于数学运算,只能用于数组运算
for((i=0;i<10;i++))
do
  echo $i
  sleep 1
done
#注意$(())的用法
# a=3、b=6  常规方法:expr $a+$b,可用:echo $(($a+$b)) echo $(($a*$b))


#========================demo_04======================================
#while循环语句,添加已20个用户
i=1
while[$i -le 20]
do
  useradd stu$i
  echo '123456'|passwd --stu$i &>/dev/null
  i=`expr $i+1`
done


#========================demo_05======================================
#case多重分支,一般用于脚本启动
case $1 in 
  a)
    echo "a...."
    ;;
  b)
    echo "b...."
    ;;
  mm)
    echo "要执行的程序"
    ;;
  c)
    echo "c..........."
    ;;
  *)
    echo "输入有误"
    ;;
esac


#========================demo_06======================================
#获得用户键盘输入的字符
#!/bin/bash
#read -p 的用法
read -p "请输入您的名字:" name
echo "您输入的名字是:" $name


#正则的使用
read -p "请输入一个字符:" str
case $str in 
  [a-z]|[A=Z])
   echo "你输入的是字母"
   ;;
 [0-9])
   echo '你输入的是数字'
   *)
   echo '输入有误'
esac





© 著作权归作者所有

下一篇: #!/bin/bash
牛角_
粉丝 2
博文 10
码字总数 4329
作品 0
海淀
高级程序员
私信 提问
基于 Node.js 的轻量「持续集成」工具 CIZE

CIZE 是什么? CIZE 是一个「持续集成」工具,希望能让开发人员更快捷的搭建一个完整、可靠、便捷的 CI 服务。甚至可以像 Gulp 或 Grunt 一样,仅仅通过一个 即可完成几乎所有的工作。 如果您...

Hou_feng
2016/07/21
65
0
linux实现php定时执行cron任务详解

对于PHP本身并没有一套解决方案来执行定时任务,不过是借助sleep函数完成的。这种方就是要提前做一些配置,如实现过程: 代码如下: ignoreuserabort();//关掉浏览器,PHP脚本也可以继续执行....

linghangp
2013/12/25
815
1
Linux Namespace : UTS

UTS namespace 用来隔离系统的 hostname 以及 NIS domain name。UTS 据称是 UNIX Time-sharing System 的缩写。 hostname 与 NIS domain name hostname 是用来标识一台主机的,比如登录时的提...

sparkdev
2018/07/30
0
0
IPython 7.2.0 发布,Python 命令行交互

IPython 是 Python 的原生交互式 shell 的增强版,可以完成许多不同寻常的任务,比如帮助实现并行化计算;主要使用它提供的交互性帮助,比如代码着色、改进了的命令行回调、制表符完成、宏功...

王练
2018/12/01
912
0
shell脚本demo

数组定义mytest=(hello world) echo ${mytest[1]}输出world echo ${mytest[*]} hello world mytest[1]=nihao变为hello nihao 删除 unset mytest[1] 删除全部 unste mytest #!bin/bash通知she......

泡海椒
2016/01/15
38
0

没有更多内容

加载失败,请刷新页面

加载更多

sync 包讲解

sync.Once Once 的作用是多次调用但只执行一次,Once 只有一个方法,Once.Do(),向 Do 传入一个函数,这个函数在第一次执行 Once.Do() 的时候会被调用,以后再执行 Once.Do() 将没有任何动作...

李琼涛
4分钟前
1
0
java中的byte占一字节或4字节

https://www.jianshu.com/p/2f663dc820d0

南桥北木
18分钟前
2
0
Cassandra 常用命令

Linux控制台命令 #进入Cassandra的安装目录 cd /home/db/cassandra/cassandra #进入Cassandra 无密码 ./bin/cqlsh localhost(IP)有密码 ./bin/cqlsh localhost(IP)-u 用户名 #显示所...

最菜最菜之小菜鸟
23分钟前
2
0
自建redis笔记

自建redis笔记 最近在linux安装了一下redis,特做一些笔记! 本文先单节点启动redis,然后再进行持久化配置,在次基础上,再分享搭建主从模式的配置以及Sentinel 哨兵模式及集群的搭建 单节点...

北极之北
31分钟前
3
0
扛住阿里双十一高并发流量,Sentinel是怎么做到的?

Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景 本文介绍阿里开源限流熔断方案Sentinel功能、原理、架构、快速入门以及相关框架比较 基本介绍 1 名词解释 服务限流 :当系统资源...

分布式系统架构
39分钟前
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部