【Shell】变量

Shell 变量 在 Shell 中,用括号来表示数组,数组元素用"空格"符号分割开。定义数组的一般形式为:数组名=(值1 值2 ... 值n)例如:或者value0value1value2value3还可以单独定义数组的各个分量:可以不使用连续的下标,而且下标的范围没有限制。 阅读详情

变量

Bash 中没有数据类型,bash 中的变量可以保存一个数字、一个字符、一个字符串等等。 同时无需提前声明变量,给变量赋值会直接创建变量。

变量命名原则

  • 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。
  • 中间不能有空格,可以使用下划线(_)。
  • 不能使用标点符号。
  • 不能使用 bash 里的关键字(可用 help 命令查看保留关键字)。

声明变量

访问变量的语法形式为:${var} 和 $var

变量名外面的花括号是可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界,所以推荐加花括号。

例如:

word="hello"
echo ${word}
# Output: hello

只读变量

使用 readonly 命令可以将变量定义为只读变量,只读变量的值不能被改变。

aword="hello"
echo ${aword}
readonly aword
# aword="bye bye"  # 如果放开注释,执行时会报错

删除变量

使用 unset 命令可以删除变量。变量被删除后不能再次使用。
unset 命令不能删除只读变量

dword="hello"  # 声明变量
echo ${dword}  # 输出变量值
# Output: hello

unset dword    # 删除变量
echo ${dword}
# Output: (空)

变量类型

  • 局部变量 - 局部变量是仅在某个脚本内部有效的变量。它们不能被其他的程序和脚本访问。

  • 环境变量 - 环境变量是对当前 shell 会话内所有的程序或脚本都可见的变量。创建它们跟创建局部变量类似,但使用的是 export 关键字,shell 脚本也可以定义环境变量。

常见的环境变量:

变量描述
$HOME当前用户的用户目录
$PATH用分号分割的目录列表,shell回到这些目录中查找命令
$PWD当前工作目录
#RANDOM0到32767之间的整数
$UID数值类型,当前用户的用户ID
$PS1主要系统输入提示符

Shell 编程-Shell 变量详解 今天给伙伴们分享一下Shell 编程-Shell 变量,希望看了有所收获。 阅读详情

相关推荐

告别玄学调参:手把手教你用20元件模型搞定GaN HEMT高频仿真(附S参数提取避坑指南)

本文详细介绍了如何使用20元件模型优化GaN HEMT高频仿真,解决传统16元件模型在10GHz以上频段的误差问题。通过S参数提取避坑指南和实战案例,帮助工程师精准建模分布式电极效应和寄生反馈路径,提升射频电路设计效率。

weixin_42523693的博客 443

awk使用shell变量及shell使用awk中的变量

在写shell脚本时,经常会使用到awk程序。但是有些复杂的逻辑,可能需要在awk中使用在shell中定义的变量,而且awk程序处理之后,产生的中间变量,还需要在shell中继续处理。 一、那如何在awk中使用在shell中定义的变量呢? 方法一:使用"'把shell变量包起来,即"'$var'";注意是“双引号+单引号+shell变量+单引号+双引号”的格式。 这种写法大家无需改变

rj042的专栏 6万+

LSF实践专题(15):LSF队列优先级以及抢占功能初探

在LSF暂停作业时,会向作业发送一个SIGTSTP信号,并且将作业状态变成SSUSP(system suspend),表示被系统暂停,这时,最好是作业的应用能够捕获和处理SIGTSTP信号,否则,即使在LSF中,作业会被认为暂停了,并且释放了slots资源,但是在实际OS中,作业进程仍然在继续,并且不会释放CPU等计算资源。是指LSF自动将低优先级作业暂停(suspend),将空余出来的资源交给高优先级队列中的作业使用,等到高优先级队列的作业结束后,再将被暂停的作业恢复(resume)并继续运行。

richycn的博客 1919

shell变量

在 Shell 中,用括号来表示数组,数组元素用"空格"符号分割开。数组名=(值1 值2 ... 值n)或者value0value1value2value3可以不使用连续的下标,而且下标的范围没有限制。

运维老生常谈 1126

STM32F407实现LwIP的MQTT客户端并连接到服务器

这个是用LwIP协议栈中自带的MQTT客户端API写成的,代码注释很详细,附带有服务端的展示。LwIP版本是2.1.2.

wait_for_STM32的博客 6398

用野火FPGA开发板(EP4CE10)手把手教你实现一个高精度频率计(附完整Verilog代码)

本文详细介绍了基于野火FPGA开发板(EP4CE10)实现高精度频率计的全过程,涵盖等精度测量法的核心原理、Verilog代码实现及优化技巧。通过实际案例演示,帮助开发者掌握1Hz-50MHz范围、精度达0.1%的频率计设计方法,并提供完整的工程代码和实测数据。

weixin_29261711的博客 440

linux shell 编程之变量总结

shell 编程之变量总结

congge_study的博客 4407

el-transfer和el-tree进行结合搞一个树形穿梭框

由于业务需求需要在穿梭框里使用树形结构,但是本身element里并不支持,于是参考了别的大佬发的文章作为思路及后续自己新增了一些处理功能。

bbkhhvv的博客 6307

Shell学习——shell中的变量

号两边不能有空格,有的话要用引号引起来my varexit使用export可以将局部变量升级为全局变量my var但是,在子shell里面的变量修改不会改变外层父shell的值,如your varexitmy var。

m0_73716246的博客 1126

高性能算力中心 — RDMA — Overview

目录 文章目录目录RDMA基于以太网的 RoCE/RDMA 计算优化NVMeNVMe Over Fabrics基于以太网的 NVMe 存储优化 RDMA RDMA(Remote DMA,远程直接内存访问)是一种新的内存访问技术,RDMA 让计算机可以直接存取其他计算机的内存,而不需要经过 CPU 耗时的处理。RDMA 将数据从一个系统快速移动到远程系统存储器中,而不对操作系统造成任何影响。RDMA 技术的原理及其与 TCP/IP 架构的对比如下图所示。 InfiniBand(IB):从一开始就支持 R

烟云的计算 2366

EMC诊断技术及电磁兼容理论设计

本文深入探讨了EMC诊断技术,重点在于滤波篇,详细讲解了EMI滤波器的设计、选型、测试及应用注意事项。内容涵盖噪声限值法规、滤波器的法规依据、插入损耗测试以及滤波电容的高频特性。同时,还阐述了噪声源的近场与远场特性,如何快速定位和抑制噪声。通过实例分析,提供了滤波器件和辐射噪声抑制器件的选型策略。

让你爱上电路设计 2164

Shell脚本 —— Shell 变量

在Shell脚本中,变量是存储数据的基本单元,它们可以包含字符串、数字等,并在脚本中被引用和操作。

Darrich的博客 1495

20、超声多普勒成像技术全解析

本文全面解析了超声多普勒成像技术,涵盖彩色血流成像(CFI)、能量多普勒成像、超快多普勒成像和矢量多普勒成像的原理、流程、优势及临床应用场景。详细探讨了各成像模式的特点,如CFI的血流方向与速度可视化、能量多普勒对小血管的高灵敏度、超快多普勒的高帧率分析能力,以及矢量多普勒消除角度依赖性的创新方法。同时分析了技术面临的挑战及未来发展趋势,包括更高分辨率、人工智能辅助诊断和便携式设备的发展,为医学影像研究和临床诊断提供重要参考。

z2a3b4c5d的博客 279

Shell变量

预定义变量是由 Bash 程序预先定义好的一类特殊变量,用户只能使用预定义变量,而不能创建新的预定义变量,也不能直接为预定义变量赋值。预定义变量使用“$”符号和另一个符号组合表示,较常用的几个预定义变量的含义如下:$#:表示命令行中位置参数的个数$*:表示所有位置参数的内容:表示前一条命令执行后的返回状态,返回值为 0 表示执行正确,返回任何非 0值均表示执行出现异常。$0:表示当前执行的脚本或程序的名称。/bin/bashecho "脚本名为:$0"echo "第一个变量为:$1"

ZZH1120KQ的博客 1288

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Shell学习——Shell变量

在 Shell 中,用括号来表示数组,数组元素用"空格"符号分割开。数组名=(值1 值2 ... 值n)

xd__xy的博客 1427

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

shell变量及赋值

1、变量的定义Bash中的变量操作相对比较简单,不像其他高级编程语言(如C/C++、Java等)那么复杂。在定义一个新的变量时,一般不需要提前进行声明,而是直接指定变量名称并赋给初始值(内容)即可格式:变量名=变量值变量名:临时存放数据的地方变量值:临时的可变化的数据等号两边没有空格。变量名称需以字母或下划线开头,名称中不要包含特殊字符(如+、-、*、/、.、?、%、&、#等)除了上述赋值操作以外,还可以使用 Bash 的内置命令 read 来给变量赋值。

2201_75549363的博客 2376

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

shell--2--shell变量 定义变量 使用变量 只读变量 删除变量 变量类型 Shell字符串 shell函数

Shell变量 @1变量即在程序运行过程中它的值是允许改变的量 @2变量是用一串固定的字符来表示不固定的值的一种方法 @3变量是一种使用方便的占位符,用于引用计算机内存地址,该地址可以存储Script运行时可更改的程序信息 @4在shell中变量是不能永久保存在系统中的,必须在文件中声明 定义变量 变量名不加$,如: Name=”rnunoob.com” 注意,变量名和等号之间不能...

weixin_40460156的博客 655

四种shell变量

shell的四种变量: 本地变量,环境变量,两种特殊变量(只读变量)   一、本地变量 设置本地变量: variable-name = value ${variable-name=value} 注:等号两边应该有空格 variable-name=value                       设置实际值到variable-name

追逐卓越 3661

Shell编程概述与Shell变量

*传递给脚本或函数的所有参数,以单一字符串的形式返回,多个参数之间用空格分隔$@传递给脚本或函数的所有参数,以字符串的形式返回,每个参数是独立的上一条命令的退出状态(返回值),0:执行正确,非0:执行异常$#命令行中位置参数的总数量$0脚本的名称或程序的名称$$当前脚本的进程 ID(PID)后台任务最后一个ID(PID)

weixin_43099162的博客 926

shell-变量

当前用户进入shell环境初始化时会加载全局配置文件/etc/profile里面的环境变量,供给shell使用用户进入linux系统就会初始化shell环境。这个环境会加载全局配置文件和用户个人配置文件中环境变量,每个脚本文件都有自己的shell环境在执行一个脚本文件时可以指定具体shell环境进行执行脚本文件,这个就是切换shell环境执行脚本单引号,不会解析里面的变量不使用引号,也会解析,但不可以含有空格,空格后面的字符串会作为命令去执行双引号可以解析变量,还可以出现双引号的子字符串,但需要转义。

2301_81890990的博客 719

Shell语言-11-Shell变量以及变量运算

(1)自定义变量: 变量名=变量值(2)撤销变量:unset 变量(3)声明静态变量:readonly变量,注意:不能unset查看变量 echo $变量名取消变量 unset 变量名作用范围 仅在当前窗口shell中有效(1)变量名称可以由字母、数字和下划线组成,但是不能以数字开头,环境变量名建议大写。(2)等号两侧不能有空格(3)在bash中,变量默认类型都是字符串类型,无法直接进行数值运算。(4)变量的值如果有空格,需要使用双引号或单引号括起来。$#表示参数个数。

Alan0517 1515
上一篇: 【Shell】脚本
下一篇: 【Shell】ps 命令
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值