#!/bin/bash
# file name : parameter.sh
# usage :
#脚本的名称
echo "\$0: "$0
#第一个参数
echo "\$1: "$1
echo "\$2: "$2
#被扩展为"$1""$2""$3"等
echo "\$@: "$@
#被扩展为"$1c$2c$3",其中c是IFS的第一个字符
echo "\$*: "$*
#以列表的方式一次性打印所有参数,$@比$*用的多,$*将所有的参数当作一个字符串,因此很少被使用
echo "\$@: "$@
#返回值
echo "\$?: "$?
fname(){
echo "function:\$0: "$0
echo "function:\$1: "$1
echo "function:\$2: "$2
echo "function:\$@: "$@
echo "function:\$*: "$*
echo "function:\$@: "$@
#函数返回值只能是整形数字,若函数需要返回具体的值或字符串,则需要
#考虑采用其他方案,如采用全局变量等,一般0表示函数执行成功,非0表示失败
return 123
}
echo ------------------
fname p1 p2 p3
#上一个函数的执行结果
echo "\$?: "$?
[root@localhost practice-sh]# ./parameter.sh 1,2 3 4 5
$0: ./parameter.sh
$1: 1,2
$2: 3
$@: 1,2 3 4 5
$*: 1,2 3 4 5
$@: 1,2 3 4 5
$?: 0
------------------
function:$0: ./parameter.sh
function:$1: p1
function:$2: p2
function:$@: p1 p2 p3
function:$*: p1 p2 p3
function:$@: p1 p2 p3
$?: 123