文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Linux系统的shell脚本——变量

2023-09-13 06:45

关注

一、shell变量的类型

shell脚本变量的类型一般由一下几种类型:

1、用户自定义变量

用户自定义变量顾名思义就是用户自己定义的变量,shell脚本没有数据类型,所有变量均被理解为字符串。所以变量可以无需定义直接使用,就像python中定义变量一样。

变量的使用方法:变量名=数值(字符串)

定义变量时需要注意的几点:

1)、变量的命名:变量的命名可以由数字、字母、下划线构成,但不能以数字开头。

2)、变量的赋值:变量赋值时等号左右两端不能出现空格。赋值的时候可以使用单引号或者双引号进行包覆,如:val1="abc"  val2='abc'。在单引号或者双引号内可以存储包含空格的字符串,比如:val3="hello world"。如果不加引号变量只会存储空格之前的字符串,遇到空格就会结束。

3)、可以在双引号包覆的字符串内引用变量,而单引号会原样输出,举个例子:有如下变量

val1="abc"   val2='abc' 

val3="hello world $val1" 

 val4='hello world $val1'

如果输出val3 会输出hello world abc 

输出val4则会输出hello world $val1

2、位置变量

简单来说位置变量类似于命令行参数。就比如你在终端输入命令 ls 可以带参数 -l -a等,位置变量就类似于这里的 l ,a

位置变量用"$数字" 表示,例如:$1,$2,$3……$n

$0表示脚本文件的文件名,$1表示命令行第一个参数,$2表示命令行第二个参数...以此类推。

在命令行传参的时候可以用双引号包覆传递存在空格的字符串!

3、预定义变量

预定义变量表示用一些特殊的字符存储一些特定的数据。预定义变量有以下几种:

1)$#:表示记录命令行参数的个数,不会记录$0

2)$@:表示记录所有的命令参数,不包含$0

3)$*:同&@功能相同

4)&?:返回上一条命令的结果。shell中0表示真,1表示假

4)$$:获取执行当前脚本的进程的进程ID。值得注意的是,执行该脚本文件的进程是由当前终端的子终端创建的,虽然我们获取到了进程ID,但是我们查看不到此进程,因为在脚本执行完成后,该进程就已经结束了。

4、环境变量

shell中的环境变量也就是全局变量。在shell中的环境变量在内存中存储有关shell会话和工作环境的数据,以便shell或者程序运行的脚本能够访问到他们。

在终端上使用shell命令:env可以查看当前系统中的所有环境变量。

 其中举例几个环境变量的作用:

1):SHELL:命令解释器路径

2):HOME:用户的主目录路径

3):USERNAME:用户名

4):PATH:命令执行查找的默认路径(命令解释器查找的默认路径)

5):PWD:当前终端操作的绝对路径,PWD和pwd区分开来,PWD表示的是环境变量,而pwd是shell命令。

shell变量的引用

变量的引用需要加上$符号,echo表示变量数据的输出。

方法:echo $变量名

 以上就是shell命令的变量的类型,包括如何使用变量。本人萌新,如果错误和补充还请大佬们在评论区指出错误以及做出补充,跪谢。

来源地址:https://blog.csdn.net/New_Worlds/article/details/130375420

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-人工智能
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯