shell中$和$@的区别

解析Shell脚本中参数处理
本文详细解析了Shell脚本中如何处理参数输入,包括单个参数、多个参数及参数列表的不同处理方式,以及参数在不同上下文中的输出表现。
E_BADARGS=65
 
if [ ! -n "$1" ]
then
  echo "Usage: `basename $0` argument1 argument2 etc."
  exit $E_BADARGS
fi
echo
index=1
 
for arg in "$*"
do
  echo "Arg #$index = $arg"
  let "index+=1"
done
echo "Entire arg list as single word."
echo
index=1
 
for arg in "$@"
do
  echo "Arg #$index = $arg"
  let "index+=1"
done
echo "Entire arg list as seperated words."
echo
index=1
 
for arg in $*
do
  echo "Arg #$index = $arg"
  let "index+=1"
done
echo "Entire arg list as seperated words."
echo
index=1
 
for arg in $@
do
  echo "Arg #$index = $arg"
  let "index+=1"
done
echo "Entire arg list as seperated words."
exit 0

 

 

 执行结果:

$ ./test.sh bi yutong

Arg #1 = bi yutong
Entire arg list as single word.

Arg #1 = bi
Arg #2 = yutong
Entire arg list as seperated words.

Arg #1 = bi
Arg #2 = yutong
Entire arg list as seperated words.

Arg #1 = bi
Arg #2 = yutong
Entire arg list as seperated words
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值