Shell 脚本成长笔记

参数处理(三)使用 for 循环读取多个参数

2017-05-03  本文已影响3人  赵者也

我们除了可以使用上一篇文章中使用到的 while 和 shift 结合的方式来处理多个参数,还可以使用 for 循环来一个接一个地处理所有的命令行参数。

#! /bin/bash

E_BADARGS=65

if [ ! -n "$1" ]
then
        echo "Usage: `basename $0` argument1 argument2 ..."
        exit $E_BADARGS
fi

index=1

echo "Listing args with \$*:"

for arg in $*
do
        echo "Arg #$index = $arg"
        let index+=1
done

echo

index=1

echo "Listing args with \"\$@\""

for arg in "$@"
do
        echo "Arg #$index = $arg"
        let index+=1
done

注意:上述脚本实例中,两个 for 循环语句中调用的变量分别为 $* 和 "$@"。在这里,$* 是没有双引号的,因为如果加了双引号,即 “$*”,其值将被扩展为包含所有位置参数的值得单个字符串,将使 for 循环仅迭代一次。

上述脚本的运行测试结果:

使用效果

本文参考自 《Linux Shell命令行及脚本编程实例详解

上一篇下一篇

猜你喜欢

热点阅读