shell基础-bash变量-位置参数变量

位置参数变量其实属于预定义变量的一种。

位置参数变量主要有以下这些:

位置参数变量说明
$nn为自然数。 0 1到 919 1开始依次输入的),十以上的参数要用大括号包含,如${10}。
$*这个变量代表命令行中所有的参数(不包括$0),它把所有的参数当做一个整体对待。对其进行for循环遍历时,只会循环一次。
$@这个变量也代表命令行中所有的参数(不包括$0),它把所有的参数当做独立的个体对待。对其进行for循环遍历时,可循环多次。
$#这个变量代表命令行中所有参数的个数(不包括$0)。

位置参数变量的名称和作用都是固定的,但我们可以给其传入不同的值。

位置参数变量的作用是接收用户执行命令时传入的参数以及命令本身。

位置参数变量主要用在shell脚本文件中,那么它的作用就是把命令和命令的参数传递到当前执行的脚本中。

下面通过编写一个shell脚本文件canshu.sh,并执行它来说明。

vi canshu.sh

canshu.sh的内容如下:

#!/bin/bash
echo $0
echo "\$1 is $1"
echo "\$2 is $2"

for x in "$*"
    do
        echo $x
    done

for y in "$@"
    do
        echo $y
    done

echo $#

给该shell脚本赋予执行权限。

chmod 755 canshu.sh     
赋予执行权限。

执行该脚本,并传递两个参数。

[root@localhost 12:41 ~/sh]# ./canshu.sh a b
./canshu.sh
$1 is a
$2 is b
a b
a
b
2

总结: 使用位置参数变量来接收用户输入的参数,有一个弊端是,除非脚本是你自己写的,否则执行脚本时,你根本不知道要传入几个什么样的参数。好处是在执行脚本的同时传入参数。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值