bash获取命令行参数(Bash脚本输入参数的使用)

Bash脚本传入的参数,在脚本中以位置的形式进行访问,即 $n 。例如,$1 为执行脚本的第一个参数,$2 为执行脚本的第二个参数。另外Bash中还提供了一些其它的便捷操作以符号的形式表现。具体内容和含义见下表:

参数处理说明$#传递到脚本的参数个数$*以一个单字符串显示所有向脚本传递的参数,如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。$$脚本运行的当前进程ID号$!后台运行的最后一个进程的ID号$@与$*相同,但是使用时加引号,并在引号中返回每个参数,如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。$-显示Shell使用的当前选项,与set命令功能相同。$?显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。

事例代码如下:

# !/usr/bin/env bash # -*- coding: utf-8 -*- # # 打印输入的参数 # if [[ $#<=0 ]]; then echo "command=>$0, no parameters" exit 1 fi echo $@ pos=1 for para in "$@"; do eval val=$(echo \$${pos}) echo "command=>$0, position=>${pos}, value=>${val}" echo $(( pos )) >/dev/null done

上述代码执行结果如下:

bash获取命令行参数(Bash脚本输入参数的使用)(1)

bash获取命令行参数(Bash脚本输入参数的使用)(2)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页