Shell编程关于位置参数变量,利用脚本来解释 $* $# $@

1.位置参数变量介绍:

在这里插入图片描述

2.简单实验:

2.1编写一个加法计算器:

[root@localhost tmp]# vim count.sh                                                                                                                                                                                       
#!/bin/bash
a=$1
b=$2
sum=$(($a+$b))
echo "$sum"

注意:在Shell中使用数学运算时,由于shell变量没有数字型,认为是字符串类型,所以不能直接进行加减等数学运算,需要用两个小括号(( ))括起来代表数学运算

举例:

直接数学运算,会报错-bash: 1+4: command not found

[root@localhost tmp]# a=1
[root@localhost tmp]# b=4
[root@localhost tmp]# c=$($a+$b)
-bash: 1+4: command not found
[root@localhost tmp]# c=$(($a+$b))
[root@localhost tmp]# echo $c
5
[root@localhost tmp]# 

2.2利用位置进行传参,来运行脚本计算器脚本

[root@localhost tmp]# sh count.sh 14 8
22
[root@localhost tmp]# 

2.3利用脚本来解释 $* ,$# ,$@

[root@localhost tmp]# vim count.sh       
#!/bin/bash
a=$1
b=$2

sum=$(($a+$b))

echo "$sum"
echo "$#"
echo "$@"
echo "$*"     

运行脚本

[root@localhost tmp]# sh count.sh 14 8
22
2
14 8
14 8
[root@localhost tmp]# 

通过脚本解释$* 和 $@ 的区别:

[root@localhost tmp]# vim for.sh
#!/bin/bash
for i in "$*"
        do
                echo $i
        done

echo "------------------------------------------"

for y in "$@"
        do
                echo $y
        done
~            
[root@localhost tmp]# sh for.sh 11 22 33 44
11 22 33 44
------------------------------------------
11
22
33
44
[root@localhost tmp]# 

$* 将所有参数看成一个整体,只循环了一次
$@ 将每个参数分开,单独来看,执行多次循环

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值