Shell变量 —— 变量的赋值与引用

2023-05-16

Shell 变量的赋值与引用

  • 变量用于存储数据
  • 由字母、数字或下划线组成,并且只能以字母或下划线开头,大小写的意义是不同的
  • 弱类型的语言,变量存储的一切值都是字符串。到那时必要的时候,是要是由数值构成的字符串,也可以对其执行数值操作
  • 变量赋值的方式: 变量名=变量值

" = " 两边不能有任何空格
当变量值中包含空格时,应为其加上引号

  • Shell 变量不需要预先定义,而且可以引用未赋过值得变量
  • 引用变量: $变量名
$ str="Hello,world!"
$ echo $str
>>>Hello,world!

变量的赋值与引用

  • 在字符串中可以引用变量,使其值成为本字符串的一部分
$ str='world!'
$ echo Hello, $str
>>>Hello,world!

  • 在变量名后面紧跟一个由非空白字符开始的字符串时,应该用花括号 “ { } ” 将变量名括起来
$ position=/user/include/
$ cat ${position}termio.h

  • 清除变量的值: unset
$ str=has_a_value
$ echo $str
>>>has_a_value
$ unset str
$ echo $str

  • 得到变量的长度:${ #变量名 }
$ str="A 22 characters string"
$ echo length of $str is ${ #str }
>>>length of A 22 characters string is 22


命令替换

  • 将一个或多个命令的执行结果赋值给变量
  • 两种方式
    1. 反引号
    2. $(…)
#1.使用反引号
$ str='pwd;who'
$ echo $str

#2.使用 $(...)
$ position=$(pwd || who)
$ echo $position

变量属性声明

  • 使用内部命令 declare 或 typeset 限定变量的属性
  • 常用选项
    -r 只读
    -i 整数
    -a 数组
    -f 函数
    -x 导出变量

$ declare -r SIZE=100
$ SIZE=20
>>>-bash: SIZE: readonly variable


$ n=20
$ n=n+30
$ echo $n
>>>n+30
$ decalre -i n
$ n=20
$ n=n+30
$ echo $n
>>>50



后续内容可看 Shell 编程专栏的其他文章哦

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Shell变量 —— 变量的赋值与引用 的相关文章

随机推荐

  • C++ 判断IP是否属于局域网IP

    对于一个string类型的IP如 34 192 168 1 1 34 如何简单地判断其是否为局域网ip呢 xff1f 这里给出一个简单的实现方法 xff0c 给读者参考 include lt string gt include lt ios
  • 百度2014移动研发笔试题目——1013清华版

    一 简答题 1 简述计算机的存储系统分为哪几个层次 xff0c 为什么这样的分层能够提高程序的执行效率 2 浮点数在计算中如何表示 xff0c 如何对浮点数判等 3 简述TCP与UDP协议的差别 xff0c 两者与HTTP的关系 并列举HT
  • RealVNC:window远程连接ubuntu20.04

    步骤 需求步骤说明 需求 因为有原因需要从外部连接Linux的电脑 xff0c 所以现在就需要安装VNC 步骤 在linux上安装 xff0c 这里我选择离线安装 xff0c 因为我只有这个实验成功了 xff0c 所以现在就开始在linux
  • Ubuntu 磁盘分区方法

    Ubuntu作为代码版本控制仓库时 xff0c 那么就需要很大的空间 xff0c 默认20G配置一般是不够用的 xff0c 那Ubuntu怎么样和Windows一样做磁盘管理 xff0c 分盘扩容呢 xff1f 很简单 xff0c 可以安装
  • git push 遇见的两个错误

    文章目录 more than 10000 commits and skip validation not setprohibited by Gerrit update for creating new commit object not p
  • TGP无限验证码怎么办?

    使用账号密码登陆TGP时 xff0c 遇到了这样的一个情况 xff1a 不管验证码输入正确与否 xff0c 它都要求你再次输入 xff0c 可谓无限验证码 两个解决办法 1 先登录QQ xff0c 再使用QQ登陆 2 找到英雄联盟的安装目录
  • 怎么阅读论文,写心得体会

    收集资料 xff1a 阅读学术论文的心得体会 xff01 如何阅读学术论文 和上一篇类似大牛写论文的心得几年的写论文和审稿心得 文献阅读心得体会格式 xff1a 1 看论文题目 xff0c 做出论文类别判别 新理论 新方法 解决新问题 最高
  • tigerVNC的简单使用教程(CentOS的远程桌面连接)[解决Authentication Failure问题]

    参照教程 http blog csdn net daydreamingboy article details 8196747 开始连接CentOS远程桌面连接 但是出现Authentication Failure的情况 解决办法 xff1a
  • 基于docker的python faster-rcnn caffe环境搭建+提取目标特征实验

    文章目录 1 环境配置前言2 下载caffe镜像3 下载bottom up attention代码以及编译4 修改代码进行目标特征提取4 1 数据准备4 2 修改generate tsv py 起初是为了使用faster rcnn的目标提取
  • Tushare原学习文档(二投资参考数据)

    转tushare原网址 xff1a http tushare org trading html id2 import tushare as ts 1 分配预案 xff08 每到季报 年报公布的时段 xff0c 就经常会有上市公司利润分配预案
  • 通达OA系统故障解决案例记录

    案例1 xff1a 现象 xff1a 在人员访问量大的时候OA系统经卡死 xff0c 并且经常宕机 xff0c 需要启动apache服务 优化配置如下 xff1a D MYOA conf http conf 修改参数如下 xff1a lt
  • CentOS7系统安装KVM并配置网桥

    原文链接 CentOS7系统安装KVM并配置网桥 文章目录 一 安装虚拟化软件二 配置网桥 一 安装虚拟化软件 xff08 1 xff09 首先检查系统是否支持虚拟化 span class token function grep span
  • openEuler安装GNOME图形化桌面

    原文链接 openEuler安装GNOME图形化桌面 xff08 1 xff09 安装 GNOME 桌面 dnf groupinstall y GNOME xff08 2 xff09 安装 GNOME 应用 dnf span class t
  • Ubuntu----Ubuntu系统如何设置分辨率供VNC远程访问

    原文链接 Ubuntu Ubuntu系统如何设置分辨率供VNC远程访问 xff08 1 xff09 通过VMWare安装的Ubuntu虚拟机 xff0c 当通过VNC访问时 xff0c 默认情况下分辨率是不对的 xff0c 比如当VNCVi
  • 3D打印gcode命令大全及解析

    G0 xff1a 快速移动 G1 xff1a 控制移动 坐标轴XYZE移动控制 xff08 G0和G1一样 xff09 例子 xff1a G0 F2000 X30 Y30 Z30 E3 G2 xff1a 顺时针画弧 G3 xff1a 逆时针
  • 添加VNC开机启动

    1 添加开机启动文件 sudo nano etc init d tightvncserver 2 添加文件内容 bin sh BEGIN INIT INFO Provides tightvncserver Required Start sy
  • 以太网链路聚合&交换机堆叠集群

    随笔一篇 xff0c 以便日后翻阅 xff0c 如有问题欢迎指正 目录 前言 链路聚合技术原理一 基本原理二 基本术语及概念1 聚合组2 成员接口 amp 成员链路3 活动接口 amp 活动链路4 非活动接口 amp 非活动链路5 聚合模式
  • C#使用Setting保存用户自定义窗体位置

    1 首先引用原文 C 中使用Setting保存用户自定义窗体位置 C 中使用Setting保存用户自定义窗体位置 2008 11 06 步骤一 xff1a 打开项目属性窗口 xff0c 切换到设置 Settings 标签 xff0c 如下图
  • Keil5点击编译正常,烧录和调试直接闪退

    我在WIN11的环境下 xff0c 安装了目前ST官网上最新的MDK538 xff0c 刚刚下载好的前两天一切正常 xff01 但是就在刚刚出现了Keil编译正常 xff0c 使用正点原子的STLink烧录器下载却直接给我闪退 xff0c
  • Shell变量 —— 变量的赋值与引用

    Shell 变量的赋值与引用 变量用于存储数据由字母 数字或下划线组成 xff0c 并且只能以字母或下划线开头 xff0c 大小写的意义是不同的弱类型的语言 xff0c 变量存储的一切值都是字符串 到那时必要的时候 xff0c 是要是由数值