shell 不固定参数

2020-08-04  本文已影响0人  cain07

以下实例我们向脚本传递三个参数,并分别输出,其中 $0 为执行的文件名(包含文件路径):

!/bin/bash

echo "Shell 传递参数实例!";
echo "执行的文件名:0"; echo "第一个参数为:1";
echo "第二个参数为:2"; echo "第三个参数为:3";

另外,还有几个特殊字符用来处理参数:

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

shell 不固定长度 参数

echo "我的名字是 `basename $0` - 我是调用自 $0"
echo "我有 $# 参数"

count=1
while [ "$#" -ge "1" ];do
    echo "参数序号为 $count 是 $1"
    let count=count+1
    shift
done

# 打印出第一行与第十行
sed -n $2'p;'$3'p' $1
上一篇 下一篇

猜你喜欢

热点阅读