Shell脚本用for循环遍历参数的方法技巧

所属分类: 脚本专栏 / linux shell 阅读数: 1881
收藏 0 赞 0 分享

1.当一个脚本需要传入的参数较多时,可以使用for循环进行参数遍历

示例:

#!/bin/bash
number=65       #定义一个退出值
index=1          #定义一个计数器
if [ -z "$1" ];then              #对用户输入的参数做判断,如果未输入参数则返回脚本的用法并退出,退出值65
  echo "Usage:$0 + canshu"
  exit $number
fi
echo "listing args with \$*:"         #在屏幕输入,在$*中遍历参数
for arg in $*                     
do
  echo "arg: $index = $arg"         
  let index+=1
done
echo
index=1                       #将计数器重新设置为1
echo "listing args with \"\$@\":"    #在"$@"中遍历参数
for arg in "$@"
do
  echo "arg: $index = $arg"
  let index+=1
done

小技巧1:在"$*"和$*中遍历参数的区别

示例:

#!/bin/bash
number=11
if [ $# -eq 0 ];then
  echo "Usage: $0 + canshu"
  exit $number
fi
for i in $*        #在$*中遍历参数,此时每个参数都是独立的,会遍历$#次
do
  echo $i
done
echo
for i in "$*"      #在"$*"中遍历参数,此时"$*"被扩展为包含所有位置参数的单个字符串,只遍历一次
do
  echo $i
done

小技巧2:在"$@"和$@中遍历参数没有区别

示例:

#!/bin/bash
number=11
if [ $# -eq 0 ];then
  echo "Usage: $0 + canshu"
  exit $number
fi
for i in $@
do
  echo $i
done
echo
for i in "$@"
do
  echo $i
done

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

更多精彩内容其他人还在看

关于ssh连不上问题的解决方法(必看)

下面小编就为大家带来一篇关于ssh连不上问题的解决方法(必看)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Ubuntu用户之间相互切换方法(推荐)

下面小编就为大家带来一篇Ubuntu用户之间相互切换方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Linux 编程之进程fork()详解及实例

这篇文章主要介绍了Linux 编程之进程fork()详解及实例的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

浅谈安装ORACLE时在Linux上设置内核参数的含义

下面小编就为大家带来一篇浅谈安装ORACLE时在Linux上设置内核参数的含义。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

详谈linux中sar的使用方法

下面小编就为大家带来一篇详谈linux中sar的使用方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

设置Linux系统的空闲等待时间TMOUT的方法

下面小编就为大家带来一篇设置Linux系统的空闲等待时间TMOUT的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

关于Linux反空闲设置的两种方法总结

下面小编就为大家带来一篇关于Linux反空闲设置的两种方法总结。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

linux 查找大目录和大文件的方法(推荐)

下面小编就为大家带来一篇linux 查找大目录和大文件的方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Linux makefile 和shell文件相互调用实例详解

这篇文章主要介绍了Linux makefile 和shell文件相互调用实例详解的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

详解Windows与Linux共享文件夹互相访问

这篇文章主要介绍了 详解Windows与Linux共享文件夹互相访问的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多