linux 命令系列之 位置参数变量(48)

位置参数变量 作用
$n n代表数字,$0代表命令本身,$1-$9代表第一到第九个参数,十以上的参数需要用大括号包含,如${10}
$* 这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体
$@ 这个变量也代表命令行中所有的参数,不过$@把每个参数区分对待
$# 这个变量代表命令行中所有的参数个数


eg1:假设在/tmp/ 目录下 新建脚本 canshu.sh
   脚本 内容
   #!/bin/bash
   echo $0        输出命令本身
   echo $1   接收第一个参数
   echo $2   接收第二个参数
   echo $3        接收第三个参数


   保存,chmod 755 canshu.sh
   执行 :  ./canshu.sh    11   22   33  
   输出结果 : ./canshu.sh
11
22
33




eg2:加法计算器  新建脚本 qiuhe.sh
#!/bin/bash
num1=$1
num2=$2
sum=$(($num1+$num2))  ///双小括号表示算术运算,求num1和num2的和
echo  $sum
   
    执行 :  ./qiuhe.sh    11   22
     输出:  33






eg3: $#,$*,$@  简单演示,新建脚本:ceshi.sh
#!/bin/bash


echo $#
echo $*
echo $@
     
     执行:   ./ceshi.sh   aa bb cc dd 
     输出: 4      ///(四个参数,aa,bb,cc,dd)
aa bb cc dd
aa bb cc dd
这个例子看不出$* 和 $@的区别




eg4:$*和$@的区别
      1.新建脚本:qubie1.sh
#!/bin/bash


num1=0
for i in "$*"   /$*  把所有的参数看做成一个整体,for循环只执行一次
   do
num1=$(($num1+1))
echo  "------- $i"
echo  "   $num1"
   done


执行 :  ./qubie1.sh  a  b c d e  
输出:-------  a  b c d e   1




2.新建脚本:qubie2.sh
#!/bin/bash
num2=0
for y in "$@"   /$@  把所有的参数看做成独立的,所以"$@"有几个参数就会循环几次
   do
num2=$(($num2+1))
echo  "------- $y"
echo  "   $num2"
   done
执行 :  ./qubie2.sh  a  b c d   
输出:-------  a  1  ------- b 2 ------- c 3 ------- d 4
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值