Shell编程Shell中Bash变量-位置参数变量

Posted 林夕07

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shell编程Shell中Bash变量-位置参数变量相关的知识,希望对你有一定的参考价值。

目录

系列文章

【Shell编程】Shell基本概述与脚本执行方式

【Shell编程】Shell中Bash基本功能

【Shell编程】Bash变量-用户自定义变量


位置参数变量

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

实例-理解参数

编写一个脚本,测试参数变量。

创建并打开一个文本

vim canshu2.sh

编写脚本

#!/bin/bash
echo "请输入俩个数值参数:"
sum=$(($1 + $2))
echo "sum is : $sum"

执行脚本

./canshu2.sh 10 20

运行效果:

实例-剩余参数

编写一个脚本,测试参数变量。

创建并打开一个文本

vim canshu3.sh

编写脚本

#!/bin/bash

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

执行脚本

./canshu3.sh 12 12 23 45

运行效果:

实例-区别整体对待和单独对待

编写一个脚本,测试参数变量。

创建并打开一个文本

vim canshu4.sh

编写脚本

#!/bin/bash

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

x=1
for y in "$@"
#$@中每个参数都看成一个独立的,所以"$@"中有几个参数,就会循环几次
   do
        echo "The paramenters$x is :$y"
        x=$(($x+1))
    done

执行脚本

./canshu3.sh 10 20

运行效果:

以上是关于Shell编程Shell中Bash变量-位置参数变量的主要内容,如果未能解决你的问题,请参考以下文章

Linux bash基础特性二

[Linux Shell学习系列五]Shell编程基础-Bash的内部变量,位置参数和特殊参数

Linux Shell基础 - Bash变量 - 环境变量 - 位置参数变量 - 预定义变量

Shell编程Shell中Bash变量-环境变量

Shell编程Shell中Bash变量-环境变量

Shell编程Shell中Bash变量-预定义变量