【Linux学习随笔】三、shell语法-变量「建议收藏」

【Linux学习随笔】三、shell语法-变量「建议收藏」Linux学习随笔随记,记录一些学习过程中的细节和遇到的问题,较为系统的整理自己的学习框架

大家好,又见面了,我是你们的朋友全栈君。

一、定义变量

shell语法中唯一的变量就是字符串,当然可以修改为局部变量或者为全局变量或其他形式

定义方法有三种

# 注意等号左边不能有多余空格,要不然会报错。结束语句不用打分号,跟python有点像,hh。

(1)任意字符串=’dududu’ #单引号定义字符串

(2)任意字符串=”dududu” #双引号定义字符串

(3)任意字符串=dududu #也可以不加引号

注意:单引号与双引号的区别是单引号中的内容在输出时会原样输出,相当于直接打印了。

至于不加引号的区别,读者可以自己试着玩一下。hh

双引号中的内容,解释器会取对应变量的值。这里可以用printf理解,当然shell语法中也有printf函数了。


二、使用变量

使用变量需要使用$符号,可以理解为索引对应变量中储存的值,或者${任意变量}。花括号并不是一定要打的,但有时候为了让解释器识别变量边界就必须要打,比如name=asd sdds,如果直接输出name的话,那么输出结果是asd

举例:

        name=dududu

        echo $name #输出dududu

        echo ${name} #输出dududu

        echo ${name}tuoluxingdong #输出dududutuoluxingdong

        # echo可以理解为输出

三、删除变量

unset 变量名

举例:

        name=dududu

        echo $name #输出dududu

        unset name

        echo $name #删除变量后再输出就会输出空行


四、补充细节

(1)局部变量与全局变量

        ①局部变量变为全局变量

        举例:

                name=dududu

                export name #方法一,这样name变量就变成了全局变量

                declare -x name #方法二,同样的效果,跟之前的改为可执行文件还蛮类似的,hh。

        ②全局变量变为局部变量

        举例:

                export name=dududu #设置该变量为全局变量

                declare +x name #改为局部变量 同①的方法二类似。hh。

(2)只读变量(可以理解为const,即不能修改该变量的值,只能输出

        举例:

                name=dududu

                readonly name #方法一,比较好理解 就是英文意思只能读取

                declare -r name #方法二,可以理解为去掉了name变量的修改权限

                name=tuoluxingdong #会报错,因为name变量为只读变量,不能修改值了

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/160467.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 袁岳:创业机会下一波互联网为基础的产品

    袁岳:创业机会下一波互联网为基础的产品

    2022年1月4日
    59
  • foc无刷电机位置控制(直流无刷电机接线图解)

    序:矢量控制的核心思想是为了简化无刷电机的控制模型,将一个需要换相的无刷电机通过各种算法变换,抽象为一个直流电机的控制模型,只需要控制简单的两个直流分量来控制无刷电机,其中Vq抽象为直流电机的两端电压,Vd可调节电机力矩,但这个模型需要一个实时的电机轴角度θ参与计算。为了实现这个直流电机的控制模型,需要用到两个数学变换,即clarke变换和park变换。需要用到最原始的PID控制器等内容。…

    2022年4月11日
    383
  • 计算机写字板英语,写字板的英文是什么

    计算机写字板英语,写字板的英文是什么写字板我们从小学就看起了,当然它的英语单词我们也是从小学就学习到了。下面是学习啦小编给大家整理的写字板的英文是什么,供大家参阅!写字板的英文是什么blackboard英[ˈblækbɔ:d]美[ˈblækbɔrd]写字板的英语例句1.Tomscrawledonhisslate,”Pleasetakeit–Igotmore.”汤姆在他的写字板上写了几个字:“请…

    2022年7月16日
    25
  • XPS文件转换PDF小工具,集成了界面,方便大家使用

    XPS文件转换PDF小工具,集成了界面,方便大家使用网上有关于XPS转换PDF的工具gxps.exe,由GhostPDL的代码编译而成。但是很不方便使用,需要设置参数,不够直观。所以想出了给它集成一个外壳的想法。 利用C++语言,编写了外壳,调用gxps.exe,可以直接选择需要转换的文件和保存的地址。 完成界面后,感觉大家还需要再下gxps.exe,两个exe看起来很不爽。所以就将exe集成到了外壳程序里。需要转换时释放该文件

    2022年5月25日
    47
  • SpringCloud服务注册中心双节点集群(Eureka集群)

    SpringCloud服务注册中心双节点集群(Eureka集群)0、前言    最近在进行重构一个新项目,为了后续更好的落地,适应于日新月异的技术更新,进行了各方的技术选型及技术预研,最终选型基于微服务架构体系进行开发重构。项目构建前最重要的一步就是要想清楚,整体的部署架构、高可用性(HA)等等,做好前期的部署架构技术调研,确定最终方案。    在微服务架构体系中,核心技术便是SpringCloud,通过登录官网查看SpringClo…

    2022年6月11日
    28
  • linux查看端口状态相关命令

    linux查看端口状态相关命令

    2022年2月8日
    51

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号