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位置变量&预定义变量内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 浅谈linux中shell变量$#,$@,$0,$1,$2的含义解释

    浅谈linux中shell变量$#,$@,$0,$1,$2的含义解释

    下面小编就为大家带来一篇浅谈linux中shell变量$#,$@,$0,$1,$2的含义解释。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • 每天学一个 Linux 命令之more命令

    每天学一个 Linux 命令之more命令

    more命令,功能类似 cat ,more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能
    2016-12-12
  • Putty实现自动登陆远程Linux主机的方法

    Putty实现自动登陆远程Linux主机的方法

    这篇文章主要介绍了Putty实现自动登陆远程Linux主机的方法,本文讲解的是使用公钥和密钥方式实现自动登录,需要的朋友可以参考下
    2015-04-04
  • Shell脚本获取本地网卡IP、mac地址、子网掩码、dns IP、外网IP

    Shell脚本获取本地网卡IP、mac地址、子网掩码、dns IP、外网IP

    这篇文章主要介绍了Shell脚本获取本地网卡IP、mac地址、子网掩码、dns IP、外网IP,本文直接给出实现代码,需要的朋友可以参考下
    2014-10-10
  • linux数据库备份并通过ftp上传脚本分享

    linux数据库备份并通过ftp上传脚本分享

    这篇文章主要介绍了linux数据库备份并通过ftp上传脚本,脚本还可以备份网站,需要的朋友可以参考下
    2014-03-03
  • 8个实用的Shell脚本分享

    8个实用的Shell脚本分享

    这篇文章主要介绍了8个实用的Shell脚本分享,本文给出了判断输入为数字、字符或其他、求平均数、自减输出、在文件中添加前缀、批量测试文件是否存在等实用脚本,需要的朋友可以参考下
    2015-06-06
  • Shell中的变量使用小结

    Shell中的变量使用小结

    这篇文章主要介绍了Shell中的变量使用小结,本文总结了变量的语法、常见使用形式等内容,并分别给出代码示例,需要的朋友可以参考下
    2015-05-05
  • 详解shell脚本[] [[]] -n -z 的含义解析

    详解shell脚本[] [[]] -n -z 的含义解析

    这篇文章主要介绍了详解shell脚本[] [[]] -n -z 的含义解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • a10 config backup for aXAPI

    a10 config backup for aXAPI

    这篇文章主要介绍了Vincent yu 写的一个a10 config backup for aXAPI version: 2.1 ,需要的朋友可以参考下
    2014-09-09
  • 详解Linux中vi命令大全

    详解Linux中vi命令大全

    vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,本文简单给大家介绍linux中vi命令大全,感兴趣的朋友一起学习吧
    2015-12-12

最新评论