linux shell 編程(四)

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章