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

1、位置参数变量

位置参数变量

作用

$n

n为数字,$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]#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值