Linux之bash位置参数

本文详细介绍了Shell脚本中的位置参数,如$0、$n、$*、$@及$#的用法,并通过实例展示了它们的区别。文章通过一个简单的加法脚本解释了如何获取和使用参数,并通过for循环的示例阐述了$*和$@在循环中的不同行为,帮助读者深入理解Shell脚本处理参数的方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本次我们来介绍下有关位置参数的知识

下表是一些参数变量

$n$0代表命令本身, 1 − 9 代 表 接 受 的 第 1 − 9 个 参 数 , 10 以 上 需 要 用 括 起 来 , 比 如 1-9代表接受的第1-9个参数,10以上需要用{}括起来,比如 1919,10{10}代表接收的第10个参数
$*代表接收所有的参数,将所有参数看作一个整体
$@代表接收的所有参数,将每个参数区别对待
$#代表接收的参数个数

这是编写的一个简单参数脚本
在这里插入图片描述
在这里插入图片描述当我们执行脚本时,只打印出了命令本身。这正是$0的作用
在这里插入图片描述 如果我们试着在执行命令后加几个参数,就会发现打印出相关参数。这也就是
$n的作用。

接下来让我们打印一个加法脚本

#!/bin/bash
num1=$1
num2=$2
sum=$(($num1+$num2))
echo $sum 

在这里插入图片描述
结果如下
在这里插入图片描述

另外在这里要说明下$*和 $@之间的区别
例如:

for i in "$*’

#!/bin/bash
#$*中所有的参数看成一个整体,所以这个for循环只会循环一次
do 
  echo"the parameters is :$i"
  done

x=1
for y in “$@”

#!/bin/bash
#$@中所有的参数都是独立的,所以有几个参数,这个for循环就会循环几次
do 
  echo"the parameters $x is :$y"
  x=$(($x+1))
  done

让我们一起看一个例子:
在这里插入图片描述
结果如下
在这里插入图片描述
希望这个例子让你更加了解二者的不同

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值