您的位置:首页 > 运维架构 > Shell

linux shell 编程(四)

2016-07-17 11:28 323 查看
linux shell 编程for选好讲解

for循环对一个变量的可能的值都执行一个命令序列。赋给变量的几个数值既可以在程序内以数值列表的形式提供,也可以在程序以外以位置参数的形式提供。for循环的一般格式为:

  for 变量名 [in 数值列表]

  do

      若干个命令行

  done

变量名可以是用户选择的任何字符串,如果变量名是var,则在in之后给出的数值将顺序替换循环命令列表中的$var。如果省略了in,则变量var的取值将是位置参数。对变量的每一个可能的赋值都将执行do和done之间的命令列表。

下面的示例会把A B C分别打印到屏幕上:

#!/bin/sh
for var in A B C ; do

   echo "var is $var"

done

for i in $(seq 10); do

for i in `seq 10`; do

for j in {1..10}; do

for k in $(ls *.txt); do

下面是一个实用的脚本showrpm,其功能是打印一些RPM包的统计信息:

#!/bin/sh

# list a content summary of a number of RPM packages

# USAGE: showrpm rpmfile1 rpmfile2 ...

# EXAMPLE: showrpm /cdrom/RedHat/RPMS/*.rpm

for rpmpackage in $*; do

   if [ -r "$rpmpackage" ];then

      echo "=============== $rpmpackage =============="

      rpm -qi -p $rpmpackage

   else

      echo "ERROR: cannot read file $rpmpackage"

   fi

done

这里出现了第二个特殊变量$*,该变量包含有输入的所有命令行参数值。如果你运行showrpm openssh.rpm w3m.rpm webgrep.rpm,那么 $* 就包含有 3 个字符串,即openssh.rpm, w3m.rpm和 webgrep.rpm。

for循环的第二种用法

for((赋值;条件;运算语句))

for((i=1;i<=10;i++))

转自:http://c.biancheng.net/cpp/html/1502.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux linux shell