Linux学习日记 —— 10.4.3 Shell基础-Bash变量-位置参数变量

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

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

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


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

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

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

示例1:

#!/bin/bash
num1=$1
num2=$2
Sum=$(( $num1 + $num2))
#变量sum的和是num1加num2
echo $num
#打印变量sum的值

示例2:

#!bin/bash
echo "A total of $# parameters"
#使用$#代表所有参数的个数
echo "The parameters is: $*"
#使用$*代表所有的参数
echo "The parameters is: $@"
#使用$@也代表所有参数

示例3:$*和$@的区别

#!/bin/bash
for i in "$*"
# $*中的所有参数看成是一个整体,所以这for循环只会循环一次
    do
        echo "The parameters is: $i"
done
x=1
for y in "$@"
# $@中的每个参数都看成是独立的,所以"$@"中有几个参数,就会循环几次
    do
        echo "The parameters is: $y"
        x=$(( $x +1 ))
    done

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

vi canshu.sh

canshu.sh的内容如下:

#!/bin/bash 

for i in "$*"
    do
        echo $i
    done
for y in "$@"
    do
        echo $y
    done
echo $#

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

chmod 755 canshu.sh     

赋予执行权限。

执行该脚本,并传递1234

[root@localhost 12:41 ~/sh]# cat canshu.sh 1234
#输出结果:
1 2 3 4
1
2
3
4
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

烟敛寒林o

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

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

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

打赏作者

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

抵扣说明:

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

余额充值