linux基础之shell编程(4)-for循环和case语句
2016-05-10 16:22
645 查看
for循环
用法:for 变量 in 列表; do 循环体 done
那么如何生成列表呢?
{1..100}
这样就能生成列表了
===========================================
例:
#!/bin/bash # for I in {1..100};do echo $I done
seq
用seq命令也可以生成列表用法:
seq [起始数 [步进长度]] 结束数
例:
[root@iZ28g26851kZ ~]# seq 1 10 1 2 3 4 5 6 7 8 9 10 [root@iZ28g26851kZ ~]# seq 1 2 10 1 3 5 7 9 [root@iZ28g26851kZ ~]# seq 10 1 2 3 4 5 6 7 8 9 10 [root@iZ28g26851kZ ~]#
seq在for循环中的应用
#!/bin/bash # for I in `seq 1 2 10`;do echo $I done
记住要用反单引号引起来哟~
例:求1到100的和
#!/bin/bash # sum=0 for I in `seq 100`;do let sum=$sum+$I done echo "sum=${sum}"
declare
以前说过,bash中,变量默认都是字符类型,那如何才能将一个变量直接申明成整型?
declare就可以直接将变量申明成整型
#!/bin/bash # declare -i sum=0 for I in `seq 100`;do let sum=$sum+$I done echo "sum=${sum}"
例:向系统中每一个用户问好~
#!/bin/bash # for NAME in `cat /etc/passwd | cut -d: -f1`;do echo "hello ${NAME}~" done
例:向系统中每一个用户问好,并显示其shell~
#!/bin/bash # for NAME in `cat /etc/passwd | cut -d: -f1`;do echo "hello ${NAME}~...........`cat /etc/passwd | grep ^$NAME | cut -d: -f7`" done
例:只对系统中shell是bash的用户问号,
#!/bin/bash # for NAME in `cat /etc/passwd | cut -d: -f1`;do SHELL_NAME=`cat /etc/passwd | grep ^$NAME | cut -d: -f7 | sed -r 's@^/.*/(.*)@\1@g'` if [ $SHELL_NAME == "bash" ];then echo "hello ${NAME}~...........`cat /etc/passwd | grep ^$NAME | cut -d: -f7`" fi done
case语句
用法:case SWITCH in value1) statement ... ;; value2) statement ... ;; *) statement ... ;; esac
例:
#!/bin/bash # case $1 in start) echo "output start";; "open") echo "output open" ;; "state") echo "output state" ;; *) echo "Usage:help" ;; esac
记住,每一个case都是双分号结尾哦
相关文章推荐
- shell浅谈之一变量和引用
- c bash 代码遍历文件夹下所有文件
- shell变量
- shell if语句
- Xshell 连接 Ubuntu虚拟机
- Bash循环与分支浅谈
- 用PHP执行shell命令
- Shell脚本 curl获取必应每日壁纸(Mac OS)
- Shell之实现多线程
- 常用shell命令
- shell 生成数组
- shell教程-002:常见的Shell种类
- shell教程-001:shell简介 什么是shell,shell命令的两种执行方式
- Bash 的 shopt extglob ( 用来删除指定文件以外的文件,反向删除)
- PowerShell学习的一小步,工作的一大步
- Shell脚本(自动填充函数模板)
- bash中单引号、双引号、反单引号等的区别
- Linux Shell 使用技巧
- Linux bash 扩展
- shell(一)