#!/bin/bash
# Shell传递参数
# 我们可以在执行Shell脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n代表一个数字,1为执行脚本的第一个参数,
# 2为执行脚本的第二个参数,以此类推
# 以下实例我们向脚本传递三个参数,并分别输出,其中$0为执行的文件名:
echo "Shell 传递参数实例"
echo "执行的文件名:$0"
echo "第一个参数为:$1"
echo "第二个参数为:$2"
echo "第三个参数为:$3"
# 另外,还有几个特殊字符用来处理参数
# $# 传递到脚本的参数个数
# $* 以一个单字符串显示所有向脚本传递的参数。如"$*"用「"」括起来的情况、以"$1 $2 ... $n"的形式输出所有参数
# $$ 脚本运行的当前进程ID号
# $@ 和$*相同,但是使用时加引号,并在引号中返回每个参数。如"$@"用「"」括起来的情况,以"$1" "$2" ... "$n"的形式输出错有参数
# $- 显示Shell使用的当前选项,与set命令相同。
# $? 显示最后命令的退出状态。0表示没有错误,其他任何值表示有错误。
echo "参数个数为:$#"
echo "传递的参数作为一个字符串显示:$*"
echo "传递的参数作为一个字符串显示:$@"
# $*与$@区别
# 相同点:都是引用所有的参数
# 不同点:只有在双引号中体现出来。假设在双引号是能共显示出来
for i in "$*"; do
echo $i
done
for i in "$@"; do
echo $i
done