美文网首页Shell 脚本成长笔记
参数处理(三)使用 for 循环读取多个参数

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

作者: 赵者也 | 来源:发表于2017-05-03 09:41 被阅读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命令行及脚本编程实例详解

相关文章

网友评论

    本文标题:参数处理(三)使用 for 循环读取多个参数

    本文链接:https://www.haomeiwen.com/subject/jgjhtxtx.html