菜鸟学飞记分享 http://blog.sciencenet.cn/u/yjjh143 每只菜鸟,都有鹰的梦想!

博文

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

已有 461 次阅读 2017-12-6 23:40 |个人分类:Linux学习笔记|系统分类:科研笔记|关键词:Shell

6.位置参数变量

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

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

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

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

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

需要注意的是,在执行命令时,需要在执行的文件后面加上要运算的数值。执行程序后,程序会把第一个数值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中,执行结果如下:

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

7.预定义变量

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

常用的预定义变量:

8.read:接受键盘输入

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

  • -p “提示信息”:在等待read输入时,输出提示信息
  • -t 秒数:read命令会一直等待用户输入,使用此选项可以指定等待时间
  • -n 字符数:read命令只接受指定的字符数,就会执行
  • -s:隐藏输入信息的数据,适用于机密信息的输入

举个例子:

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

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



http://blog.sciencenet.cn/blog-505988-1088560.html

上一篇:Linux编程之变量1:bash变量与变量分类-1
下一篇:Shell编程之运算符
收藏 分享 举报

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备14006957 )

GMT+8, 2017-12-14 14:04

Powered by ScienceNet.cn

Copyright © 2007-2017 中国科学报社

返回顶部