Shell位置变量&预定义变量的实现

 更新时间:2023年12月28日 09:48:29   作者:浅∶)笑  
Shell位置变量和预定义变量是Shell脚本编程中非常重要的概念,本文主要介绍了Shell位置变量&预定义变量的实现,具有一定的参考价值,感兴趣的可以了解一下

一、位置变量:

1、位置变量语法:

命令 参数1 参数2 参数3.........9以后特殊定义

$0 $1 $2 $3 $4 $5 $6 $7 $8 $9 ....

2、示例:

需求:制定脚本程序,用户自行输入两门学科成绩(整数),自动算出平均分。

[root@localhost ~]# vim avg.sh    #制作脚本
#!/bin/bash
echo -n "平均成绩是:"
echo "($1+$2)/2" | bc


[root@localhost ~]# chmod +x avg.sh     #脚本授权


[root@localhost ~]# ./avg.sh 60 70    #测试脚本
平均成绩是:65

3、总结:

  • 1、位置变量就是$1,$2,$3,$4
  • 2、位置变量预先已经被定义过了。
  • 3、用户使用时,必须携带参数。
  • 4、位置变量不是程序设计的唯一方法。比如read也可以。 

二、预定义变量:

$0 脚本名/程序名

  • $* 所有的参数
  • $# 参数的个数
  • $? 上一个程序的返回值(0是成功,非0失败)
  • $$ 程序的PID

1、示例:

[root@localhost ~]# vim sum.sh     #定义脚本
echo "用户输入的第1个参数是:$1 "
echo "用户输入的第2个参数是:$2 "
echo "用户输入的第3个参数是:$3 "
echo "用户输入的第4个参数是:$4 "
echo "用户输入的第5个参数是:$5 "
echo "用户输入的第6个参数是:$6 "
echo "该程序名为:$0"
echo "该程序携带的所有参数是:$*"
echo "该程序的参数个数是:$#"
echo "该程序的进程号是:$$"


[root@localhost ~]# ./sum.sh 11 22 33 44 55 66 77 88 99    #调用脚本
用户输入的第1个参数是:11 
用户输入的第2个参数是:22 
用户输入的第3个参数是:33 
用户输入的第4个参数是:44 
用户输入的第5个参数是:55 
用户输入的第6个参数是:66 
该程序名为:./sum.sh
该程序携带的所有参数是:11 22 33 44 55 66 77 88 99
该程序的参数个数是:9
该程序的进程号是:111298
[root@localhost ~]# echo $?
0

2、总结:

  • 1、这两类变量,在设计系统时就已经定义好了。

  • 2、需要使用时,直接调用即可。

到此这篇关于Shell位置变量&预定义变量的实现的文章就介绍到这了,更多相关Shell位置变量&预定义变量内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Shell时间运算及时间差计算方法

    Shell时间运算及时间差计算方法

    这篇文章主要介绍了Shell时间运算及时间差计算方法,本文讲解了时间时间加减运算以及时间差计算方法,需要的朋友可以参考下
    2015-07-07
  • Shell脚本中if条件判断的写法实例

    Shell脚本中if条件判断的写法实例

    在写shell脚本的过程中,用到了if else的写法,突然有多个参数需要判断,那么就想到了if else if的用法,这篇文章主要给大家介绍了关于Shell脚本中if条件判断写法的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-01-01
  • getopts解析shell脚本命令行参数的方法

    getopts解析shell脚本命令行参数的方法

    getpots是Shell命令行参数解析工具,旨在从Shell Script的命令行当中解析参数,这篇文章主要介绍了getopts解析shell脚本命令行参数,需要的朋友可以参考下
    2023-01-01
  • 根据公司需求写的一个linux 巡检小脚本

    根据公司需求写的一个linux 巡检小脚本

    这篇文章主要介绍了根据公司需求写的一个linux 巡检小脚本,可以用来检查服务器的一些运行状况,需要的朋友可以参考下
    2017-04-04
  • 浅析Linux常用文件管理命令

    浅析Linux常用文件管理命令

    这篇文章主要介绍了Linux常用文件管理命令,非常不错,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-04-04
  • crontab每10秒执行一次的实现方法

    crontab每10秒执行一次的实现方法

    下面小编就为大家带来一篇crontab每10秒执行一次的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • Spark-Shell的启动与运行实现过程

    Spark-Shell的启动与运行实现过程

    文章介绍了如何启动Spark,并演示了Spark RDD的基本操作,包括从文件系统和集合创建RDD,以及使用RDD编程API进行数据处理,如map、filter、flatMap、reduceByKey等,通过实例,展示了如何对RDD进行基本的数学运算、字符串处理和数据统计
    2026-01-01
  • shell中使用echo打印彩色字体和彩色背景的方法

    shell中使用echo打印彩色字体和彩色背景的方法

    这篇文章主要介绍了shell中使用echo打印彩色字体和彩色背景的方法,本文方法比较好玩,需要的朋友可以参考下
    2014-12-12
  • linux shell 中双引号和单引号的区别解析

    linux shell 中双引号和单引号的区别解析

    最近在编写shell脚本时,发现引号使用的比较频繁,也出现过小问题,现根据我的使用情况做一下总结,也加深一下自己的印象,这篇文章主要介绍了linux shell 中双引号和单引号的区别解析,需要的朋友可以参考下
    2024-02-02
  • Shell脚本中获取进程ID的方法

    Shell脚本中获取进程ID的方法

    这篇文章主要介绍了Shell脚本中获取进程ID的方法,我想要知道运行中脚本子shell的进程id,我该如何在shell脚本中得到PID,阅读本文即可找到你想要答案,需要的朋友可以参考下
    2015-03-03

最新评论