首页 > 系统相关 >Shell笔记:变量基础使用

Shell笔记:变量基础使用

时间:2024-01-21 11:22:49浏览次数:29  
标签:Shell 变量 笔记 readonly sh 使用 var my

语法:my_var="hello" ,此处定义了一个值为字符串的变量,需要特别注意的是,等号=两边不能有空格。变量的命名只能使用英文字母,数字和下划线,且首个字符不能以数字开头。变量定义之后也可以在其他地方使用同样的语法给它重新赋值,但是注意,不可以使用 $my_var="hi" 这种语法,加花括号是使用变量时才需要的,赋值的时候不可以加花括号。

使用变量: 可以使用两种方式 $my_var${my_var} (推荐),第二种加花括号的目的是帮助解释器识别变量边界,使用第二种方式是一种良好的编程习惯。

删除变量: 使用 unset ${my_var} 即可,删除变量后,再次使用变量不会报错,但是不会有任何值, echo "abc${my_var}def" 输出的值为abcdef。

readonly只读变量: 使用 readonly my_var="hello" 就可以将一个变量设置为只读变量, readonly 关键字也可以在变量定义之后再设置,如 readonly my_var 也是可以的,不是必须在变量初始化的时候才可以设置。当一个变量被设置为只读时,它就不可以被重新赋值,也不可以使用命令 unset 删除。

执行以下脚本 sh test.sh :

#!/bin/sh
readonly my_var="hello"
my_var="hi"

输出为:

[root@zjy ~]# sh test.sh
test.sh: line 3: my_var: readonly variable

标签:Shell,变量,笔记,readonly,sh,使用,var,my
From: https://www.cnblogs.com/guyuyun/p/17977624

相关文章

  • Shell笔记:函数基础使用
    语法如下:[function]func_name(){...[returnint]}function关键字:定义一个函数,function关键字是可选的。语句结束符:函数中每个语句以换行符作为结束,不用使用分号,一行一句即可,分号通常只是用于连接两个语句。return关键字:也是可选的,不指定时自动使用最后一个语句的......
  • NCL论文阅读笔记
    ImprovingGraphCollaborativeFilteringwithNeighborhood-enrichedContrastiveLearning论文阅读笔记Abstract​ 目前的对比方法通常采用随机抽样的方式构建对比对,忽略了用户之间的相邻关系,不能充分利用对比学习作为推荐的潜力​ 为了解决上面的问题,我们提出了一种新的对......
  • 如何使用Markdown编写笔记
    Markdown是什么?Markdown是一种轻量级标记语言,创始人为约翰·格鲁伯(JohnGruber)。它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档。这种语言吸收了很多在电子邮件中已有的纯文本标记的特性。由于Markdown的轻量化、易读易写特性,并且对于图片......
  • 【数字图像处理_冈萨雷斯】笔记:(一)绪论
    一、绪论1.图像处理分类:低级处理(输入输出都是图像,如降噪、对比度增强、锐化)中级处理(输入图像输出特征,如分割、分类、识别)高级处理(远端位置识别、视觉认知)2.数字图像处理诞生可追溯至20世纪60年代,得益于机器使用和空间项目开发计算机断层成像CT和X射线是数字图......
  • 完全没有数模基础都能看懂的神经网络笔记【零基础系列】
    神经网络算法前言(可跳过)作为数模小白,看了很多讲解新概念新模型的文章,这些文章往往要么讲的很浅不讲原理只讲应用,让人知其然不知其所以然。要么讲的很深小白看不懂,同时总是忽略关键部分,经常性引入陌生概念让初学者疑惑,因此有了本文,任何能熟练掌握线性代数知识且逻辑思维能力尚可......
  • (powershell 7) 安装及 Pycharm 上的配置
    1.windows上更新powershell下载地址(此处需要爬下墙): https://github.com/PowerShell/PowerShell选择一个LTS版本直接手动安装,完成完成后,会自动添加到PATH中,如果没有,可以手动配置#打开powershell$PSVersionTable.PSVersion 2.Pycharm配置powershell Note......
  • [SQLAlchemy] SQLAlchemy学习笔记: 基础使用
    InstallationpipinstallSQLAlchemymakesurethatissql-alchemy2创建引擎数据库url格式一般为dialect+driver://username:password@host:port/database#PyMySQL-python里的数据库驱动engine=create_engine("mysql+pymysql://scott:tiger@localhost/foo?charset=utf......
  • 大三寒假学习进度笔记11
    今日对之前学习的pyspark内容进行了梳理,同时尝试了通过SparkSQL的JDBC方式从mysql读取数据和写入数据#coding:utf8frompyspark.sqlimportSparkSessionfrompyspark.sql.typesimportStructType,StringType,IntegerTypeimportpandasaspdif__name__=='__main__......
  • bitcask论文翻译/笔记
    翻译论文来源:bitcask-intro.pdf(riak.com)背景介绍Bitcask的起源与Riak分布式数据库的历史紧密相连。在Riak的K/V集群中,每个节点都使用了可插拔的本地存储;几乎任何结构的K/V存储都可以用作每个主机的存储引擎。这种可插拔性使得Riak的处理能够并行化,从而可以在不影响代码库其......
  • 学习笔记8
    Streaming原理可以参考官网教程:http://spark.apache.org/docs/latest/streaming-programming-guide.html,SparkStreaming提供了称为离散流或DStream的高级抽象,它表示连续的数据流,在内部DStream表示为RDD序列,每个RDD包含一定间隔的数据,如下图所示:所有对于DStream的操作都会相应地......