Bash 参数和参数扩展–$1($2,$3等)$*,$@,$#

清单 3. 一个探究参数处理差别的函数

[ian@pinguino ~]$ type testfunc2
testfunc2 is a function
testfunc2 ()
{
echo “$# parameters”;
echo Using ‘$*’;
for p in $*;
do
echo “[$p]“;
done;
echo Using ‘”$*”‘;
for p in “$*”;
do
echo “[$p]“;
done;
echo Using ‘$@’;
for p in $@;
do
echo “[$p]“;
done;
echo Using ‘”$@”‘;
for p in “$@”;
do
echo “[$p]“;
done
}

使用 testfunc2 打印参数信息

[ian@pinguino ~]$ IFS=”|${IFS}” testfunc2 abc “a bc” “1 2
> 3″
3 parameters
Using $*
[abc]
[a]
[bc]
[1]
[2]
[3]
Using “$*”
[abc|a bc|1 2
3]
Using $@
[abc]
[a]
[bc]
[1]
[2]
[3]
Using “$@”
[abc]
[a bc]
[1 2
3]

$* 和 $@都是直接展开 参数中若有空格for就会隔开

“$*”是所有参数算一个词,比如像”123 sdfsdf asad tftf”,

“$@”是把所有参数一个个隔开, 比如”123 adsfdf” “asad tftf”

Post a Comment

Your email is never published nor shared. Required fields are marked *
*
*


为了防止恶意的垃圾评论脚本,请输入以下图片里面的数学方程式的答案。
防垃圾评论问题