Shell入门(五)之参数

一、Shell 传递参数

  在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$nn 代表一个数字,0为执行文件名,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推

比如: ./shellTest.sh 0  1 a b

 $0 : ./shellTest.sh,即命令本身,相当于c/c++中的argv[0]
 $1 : 0,第一个参数.
 $2 : 1
 $3, $4 ... :类推。
 $# :参数的个数,不包括命令本身,上例中$#为4.
 $@ :参数本身的列表,也不包括命令本身,如上例为0 1 a b
 $* :和$@相同,但"$*" 和 "$@"(加引号)并不同。

  "$*"将所有的参数解释成一个字符串,以"$1 $2 … $n"的形式输出所有参数;而"$@"是一个参数数组,以"$1" "$2" … "$n" 的形式输出所有参数。

$$:脚本运行的当前进程ID号

$!:后台运行的最后一个进程的ID号

$-:显示Shell使用的当前选项,与set命令功能相同。

$?:显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。

 

二、实例

#!/bin/bash
echo "执行的文件名:$0";
echo "第一个参数为:$1";
echo "第二个参数为:$2";
echo "第三个参数为:$3";
echo "第四个参数为:$4";
echo "\$@为:"$@;
echo "\$*为:"$*;
echo  "$@";
echo  "$*";
echo "\$\$当前进程ID号为:$$";
echo "\$!最后一个进程的ID号为:$!";
echo "\$?退出状态为:$?";

 

 

posted @ 2017-08-23 20:35  茅坤宝骏氹  阅读(232)  评论(0编辑  收藏  举报