1-2 位置变量

        接下来我们来看一下位置变量,上一节讲的是用户自定义的变量,接下来我们来看的这些变量并不是用户自定义的,而是在shell中使用一些约定的规则来直接使用这些变量,我们来看一下位置变量是什么?

定义

        当一条命令或脚本执行时,后面可以跟很多个参数,我们使用位置参数变量来表示这些参数。 

        例如:sh 1.sh hello world 123 456

        当我们执行1.sh这样的脚本,后面可以跟多个参数,第一个参数是hello,第二个参数是world,第三个参数是123,第四个参数是456,这个时候当我们执行sh 1.sh hello world 123 456这个脚本的时候,我们可以直接引用后面的内容,比如我们可以通过$1来引用第一个变量hello,使用$2来引用第二个变量world,以此类推......那接下来我们看这些位置变量都有哪些内容?

    ​​​​​​

        这里我写一个locationVariable.sh的脚本。

vim locationVariable.sh

#!/bin/bash

echo "The First Parameter: $1"
echo "The Second Parameter: $2"
echo "The Third Parameter: $3"
echo "The Fourth Parameter: $4"
echo "The Fifth Parameter: $5"
 
echo $*
echo $@
echo $#

        执行命令:

sh locationVariable.sh 小强 旺财 123 "Hello world"

         可以看到当我们的sh locationVariable.sh命令后面跟4个参数时,前四个会依次输出,第五个的输出就是空的。$*和$@就是一个整体,最后的$#代表的是参数的个数。对于这些位置变量,我们在今后的shell脚本编写中会用到的比较多。

        位置变量也常用在函数中

vim functionAdd.sh

#!/bin/bash
#

function add
{
        value=`expr $1 + $2`
        echo $value
}

add 123 456

        当我们执行:

sh functionAdd.sh

         会输出579。

        我们在脚本中当调用函数add时也可以通过$1和$2来传递参数。

#!/bin/bash
#

function add 
{
        value=`expr $1 + $2`
        echo $value
}

add $1 $2

        当我们执行:

sh functionAdd.sh 123 456

        也会同样得到两数相加的结果。

         这时function add 函数内部的$1和$2就是通过add $1  $2传递过来的。

        这些就是位置变量的一些用法。如果各位有补充请留言,我验证之后完善文章。谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lvdapiaoliang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值