Linux 位置参数变量

1、位置参数变量

$n:n为数字,$0代表命令本身,$1-$9代表带一个到第九个参数,十以上的参数需要使用大括号表示,比如${10}

$*:这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体

$@:这个变量也代表命令行中所有的参数,是把每个参数却分对待

$#:这个变量代表命令行中所有参数的个数

2、$n示例

两个数相加:

touch cs.sh
进行编辑

vi cs.sh
内容如下:

#!/bin/bash

num1=$1
num2=$2
sum=$(($num1 + $num2))
echo $sum
赋予权限

chmod 755 cs.sh
执行结果如下:

./cs.sh 11 33
 结果为44

3、$*、$@和$#示例

代码如下:

#!/bin/bash
echo "\s* out result : $*"
echo "\s@ out result : $@"
echo "\s# out result : $#"
执行:

./cs1.sh  11 22 33  44
结果如下:

\s* out result : 11 22 33 44
\s@ out result : 11 22 33 44
\s# out result : 4

4、$*和$@的区别

#!/bin/bash

echo "\s* loops echo result is : "
for i in "$*"
        do
                echo $i
        done

echo "\s@ loops echo result is : "
for j in "$@"
        do
                echo $j
        done
执行

./cs2.sh 11 22 33 44
结果如下

\s* loops echo result is : 
11 22 33 44
\s@ loops echo result is : 
11
22
33
44
可以看出:

$*中的所有参数看成是一个整体,所以for循环只循环一次。

$@中的每个参数十独立的,所有输入几个参数,就会循环几次。


  • 10
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值