Linux学习之Shell 基础——Bash变量——位置参数 变量

1、位置参数变量

位置参数变量作用
$nn为数字,$0代表命令本身,$1-$9代表第一到第九个参数,十以上的参数需要用大括号包含,如${10}
$*这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体
$@这个变量也代表命令行中所有的参数,不过$@把每个参数区分对待
$#这个变量代表命令行中所有参数的个数

》$n 一般用于获取比如用户输入的内容,通过该变量向系统传递用户所输入的内容。

[root@localhost ~]#cd sh
[root@localhost sh]#vim canshu1.sh

#!/bin/bash

echo $0
echo $1
echo $2
echo $3
~                                                                                       
~             
[root@localhost sh]#
[root@localhost sh]#chmod 755 canshu1.sh 
[root@localhost sh]#./canshu1.sh 
./canshu1.sh



[root@localhost sh]#./canshu1.sh 11 22 33 44 55
./canshu1.sh
11
22
33
[root@localhost sh]#

示例2:简单的加法计算器(当前有很多漏洞)

[root@localhost sh]#vim jiafajisuanqi.sh 

#!/bin/bash

num1=$1
num2=$2
sum=$(($num1 + $num2))
#变量sum的和是num1+num2
echo $sum
#打印变量sum的值
~                                                                                       
~       
[root@localhost sh]#chmod 755 jiafajisuanqi.sh 
[root@localhost sh]#./jiafajisuanqi.sh 2 3
5
                

》示例三

[root@localhost sh]#vim shili3.sh 

#!/bin/bash

echo "A total of $# parameters"
#使用$#代表所有参数的个数

echo "The parameters is:$*"
#使用$*代表所有的参数

echo "The parameters is:$@"
#使用$@也代表所有参数

[root@localhost sh]#chmod 755 shili3.sh 
[root@localhost sh]#./shili3.sh 
A total of 
The parameters is:
The parameters is:
[root@localhost sh]#./
canshu1.sh        hello.sh          jiafajisuanqi.sh  shili3.sh
[root@localhost sh]#./shili3.sh 4 55 44 3 2 5
A total of 6 parameters
The parameters is:4 55 44 3 2 5
The parameters is:4 55 44 3 2 5
[root@localhost sh]#

示例4、$*与$@的区别

[root@localhost sh]#vim canshu4.sh 

#!/bin/bash

for i in "$*"
#$* 中所有参数看成是一个整体,所以这个for循环只会循环一次
do
   echo "The parameters is:$i"

done
x=1

for y in "$@"
#$@中的每个参数都看成是独立的,所以“$@"中,有几个参数就会循环几次

do
  echo "The parameter $x is:$y"
  x=$(( $x + 1 ))
done

~                           
[root@localhost sh]#
[root@localhost sh]#chmod 755 canshu4.sh 
[root@localhost sh]#./canshu
canshu1.sh  canshu4.sh  
[root@localhost sh]#./canshu4
bash: ./canshu4: 没有那个文件或目录
[root@localhost sh]#./canshu4.sh 3 4 3 2
The parameters is:3 4 3 2
The parameter 1 is:3
The parameter 2 is:4
The parameter 3 is:3
The parameter 4 is:2
[root@localhost sh]#

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值