Shell学习笔记(9)-流程控制之For语句
来源:互联网 发布:用友软件官方 编辑:程序博客网 时间:2024/04/29 12:59
for循环
for循环的动作方式,是将串行的元素一一取出,依序放入指定的变量中,然后重复执行含括的命令区域(在do和done之间),直到所有元素取尽为止。其中,串行是一些字符串的组合,彼此用$IFS所定义的分隔字符(如空格符)隔开,这些字符串称为字段。
语法规则一如下:
for 变量 in 串行
do
命令区域
done
示例1:
for 变量 in $@ //"in $@"这一段可以省略不写,此时Bash命令会由命令行读取各个参数
do
命令区域
done
示例2:
IFS=':'
PL="root:x:0:0:root:/root:/bin/Bash"
for f in $PL
do
echo $f
done
示例3:
#! /bin/Bash
declare -i i=0
for line in $(cat /etc/passwd)
do
i=i+1
echo -n "第$i行的字段有:"
save_ifs=$IFS
IFS=':'
for f in $line
do
echo -n $f ' '
done
IFS=$save_ifs
echo
done
示例4:列出/root目录下的文件,但不包括隐藏文件。
#!/bin/Bash
DIR="/root"
for f in $(ls $DIR)
do
echo '文件:' $f
done
示例5:列出/var目录下各子目录占用磁盘空间的大小
#! /bin/Bash
DIR="/var"
cd $DIR
for f in $(ls $DIR)
do
[ -d $f ] && du -s $f
done
for语法规则2如下:
for ((初始条件;终止条件;异动项))
do
命令区域
done
示例1:
#! /bin/Bash
declare -i i sum
for ((i=1; i<=10; i+i+1))
do
let sum+=i
done
echo $sum
示例2:
for ((;1;))
do
echo '日不落'
done
for循环的动作方式,是将串行的元素一一取出,依序放入指定的变量中,然后重复执行含括的命令区域(在do和done之间),直到所有元素取尽为止。其中,串行是一些字符串的组合,彼此用$IFS所定义的分隔字符(如空格符)隔开,这些字符串称为字段。
语法规则一如下:
for 变量 in 串行
do
命令区域
done
示例1:
for 变量 in $@ //"in $@"这一段可以省略不写,此时Bash命令会由命令行读取各个参数
do
命令区域
done
示例2:
IFS=':'
PL="root:x:0:0:root:/root:/bin/Bash"
for f in $PL
do
echo $f
done
示例3:
#! /bin/Bash
declare -i i=0
for line in $(cat /etc/passwd)
do
i=i+1
echo -n "第$i行的字段有:"
save_ifs=$IFS
IFS=':'
for f in $line
do
echo -n $f ' '
done
IFS=$save_ifs
echo
done
示例4:列出/root目录下的文件,但不包括隐藏文件。
#!/bin/Bash
DIR="/root"
for f in $(ls $DIR)
do
echo '文件:' $f
done
示例5:列出/var目录下各子目录占用磁盘空间的大小
#! /bin/Bash
DIR="/var"
cd $DIR
for f in $(ls $DIR)
do
[ -d $f ] && du -s $f
done
for语法规则2如下:
for ((初始条件;终止条件;异动项))
do
命令区域
done
示例1:
#! /bin/Bash
declare -i i sum
for ((i=1; i<=10; i+i+1))
do
let sum+=i
done
echo $sum
示例2:
for ((;1;))
do
echo '日不落'
done
- Shell学习笔记(9)-流程控制之For语句
- Shell学习笔记(8)-流程控制之IF语句
- Shell学习笔记(10)-流程控制之while语句
- Shell学习笔记(11)-流程控制之select、until语句
- Shell学习笔记(12)-流程控制之break、continue语句
- Power Shell 学习笔记(六)流程控制语句之分支语句
- Shell学习笔记-流程控制
- shell脚本之-if流程控制语句和for循环语句的使用
- shell入门之流程控制语句
- Shell学习笔记(13)-流程控制之函数
- Java学习笔记:流程控制之分支语句
- java学习笔记(六)流程控制之选择语句
- java学习笔记(七)流程控制之循环语句
- 【Linux学习笔记】Shell 基础(3) — Shell流程控制语句
- shell 学习之for语句
- Shell流程控制语句
- shell流程控制语句
- 【慕课笔记】第四章 流程控制语句 第8节 JAVA循环语句之for
- Android系统百变USB OTG之闪存篇
- J2EE:JFreeChart生成热点图表
- extern的使用 c++中const的陷阱
- 解读复杂定义char *(*c[10])(int **p);
- QGrapicsItem类
- Shell学习笔记(9)-流程控制之For语句
- LeetCode Binary Tree Level Order Traversal II
- 性能测试感悟出的经验
- Spring中的事务
- Java中如何克服"构造器只能使初始化工作进行一次"的"缺点"?
- CMMI中有关定义及英文缩写说明
- wp7学习笔记
- 初探C# 3.0 (1) - 隐式类型变量, 扩展方法, Lambda表达式
- Ubuntu terminal终端添加右键菜单