生物信息学生物信息学我用 Linux

Linux编程之变量1:bash变量与变量分类-2

2017-12-06  本文已影响19人  曹务强

6.位置参数变量

位置参数变量就是bash将传递给脚本的参数,按照位置不同,保存在不同的位置变量中,以便于脚本调用这些变量。

shell中的位置参数变量及其作用见下图:


image

其中,$n是最重要的一个位置参数变量。举个例子,:

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

将上述代码保存在test1.sh中,执行结果如下:

image

需要注意的是,在执行命令时,需要在执行的文件后面加上要运算的数值。执行程序后,程序会把第一个数值38赋给num1,把第二个值33赋给num2,并计算两个数值的和。

$*$@都代表命令行中的所有参数,只不过$*是把所有参数看做一个整体,$@是把每个参数区分对待,而$#代表命令行中所有参数的个数。

举个例子:

#!/bin/bash
for i in $*
    do
        echo $i
    done
    
for i in $@
    do
        echo $i
    done

for i in $#
    do
        echo $i
    done

将以上代码保存到test2.sh中,执行结果如下:

image

$*循环只返回一行结果,说明该循环只执行了一次,$@返回6行结果,说明循环执行了6次,而$#返回了后面参数的个数,循环执行了1次。

7.预定义变量

系统预先定义的变量简称为预定义变量,是由系统预先定义的一组变量,这些变量通常用于保存与系统 / 命令等有关的信息。预定义变量由系统自动生成 / 维护,用户无需修改其值。

常用的预定义变量:

image

8.read:接受键盘输入

read [选项] [变量名]
选项:

举个例子:

#!/bin/bash
read -p "please input your name: " name
echo -e "\n" #换行
echo "I know your name is"$name

将以上代码存入read.sh中,执行结果如下:

image
上一篇下一篇

猜你喜欢

热点阅读