Linux 教程 之 Linux Shell 变量 3

简介: Shell 变量

Linux 教程 之 Linux Shell 变量 3

Shell 变量

定义变量时,变量名不加美元符号($,PHP语言中变量需要),如:

your_name="baidu.com"

注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则:

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

有效的 Shell 变量名示例如下:

baidu
LD_LIBRARY_PATH
_var
var2

无效的变量命名:

?var=123
user*name=baidu

除了显式地直接赋值,还可以用语句给变量赋值,如:

for file in ls /etc

for file in $(ls /etc)

以上语句将 /etc 下目录的文件名循环出来。

只读变量

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

下面的例子尝试更改只读变量,结果报错:

实例

!/bin/bash

myUrl="https://www.google.com"
readonly myUrl
myUrl="https://www.baidu.com"

运行脚本,结果如下:

/bin/sh: NAME: This variable is read only.

目录
相关文章
|
存储 运维 jenkins
放弃"Jenkins"的种种理由,期待更好赋能研发的"持续交付平台"
Jenkins 很酷,但是不完美,有历史局限性造成的问题。本文仅从“如何更好给研发团队赋能的角度”,剖析Jenkins, 探讨理想的持续交付平台, 不带货无广告~
251 3
|
12月前
|
算法 Java 数据库
理解CAS算法原理
CAS(Compare and Swap,比较并交换)是一种无锁算法,用于实现多线程环境下的原子操作。它通过比较内存中的值与预期值是否相同来决定是否进行更新。JDK 5引入了基于CAS的乐观锁机制,替代了传统的synchronized独占锁,提升了并发性能。然而,CAS存在ABA问题、循环时间长开销大和只能保证单个共享变量原子性等缺点。为解决这些问题,可以使用版本号机制、合并多个变量或引入pause指令优化CPU执行效率。CAS广泛应用于JDK的原子类中,如AtomicInteger.incrementAndGet(),利用底层Unsafe库实现高效的无锁自增操作。
498 0
理解CAS算法原理
|
算法 测试技术 数据处理
实时目标检测神器:YOLOv5的安装与使用详解
实时目标检测神器:YOLOv5的安装与使用详解
915 1
|
自然语言处理 测试技术
测试驱动开发(TDD)与行为驱动开发(BDD)的比较与选择
在软件开发中,测试驱动开发(TDD)与行为驱动开发(BDD)是两种常见的开发方法。虽然它们都强调测试在开发过程中的重要性,但是两者之间存在一些差异。本文将对TDD和BDD进行比较,分析它们各自的优点和缺点,以及在实际开发中如何选择最适合的方法。
|
算法 搜索推荐 SEO
谷歌关键词排名大量消失原因【2023分析指南】
在同一个行业中,竞争对手会不断地采取各种手段来提高自己的排名,并且不断地优化网站内容、技术和策略。
583 0
谷歌关键词排名大量消失原因【2023分析指南】
|
消息中间件 负载均衡 算法
【Kafka从入门到成神系列 三】Kafka 生产者消息分区及压缩算法
【Kafka从入门到成神系列 三】Kafka 生产者消息分区及压缩算法
【Kafka从入门到成神系列 三】Kafka 生产者消息分区及压缩算法
|
存储 前端开发 NoSQL
技术汇总:第十六章:关于登录与退出的token
技术汇总:第十六章:关于登录与退出的token
442 0
|
算法 数据挖掘 Java
【Alink-KMeans】基于Alink算法平台的聚类【Java实现】
【Alink-KMeans】基于Alink算法平台的聚类【Java实现】
405 0
【Alink-KMeans】基于Alink算法平台的聚类【Java实现】
|
Java Maven Spring
SpringBoot2.x基础篇:开发你的第一个SpringBoot应用程序
`SpringBoot2.x`版本是基于`Java8`来编写的,由于内部使用到了很多新的特性,比如:`lambda`、`interface default`...,所以需要本地开发环境有`java8`的支持。
阿里开发人员献礼“Java架构成长笔记”,深入内核,拒绝蒙圈
导言 提起阿里,行外人联想到的关键词无非是“交易”、“淘宝”、“支付宝”,但对于程序员来说,阿里庞大的技术体系才是最吸引人的。实际上阿里作为国内一线互联网公司的头把交椅,内部的技术体系和发展都是备受关注的,对于程序员来说,能够进到阿里工作,就是对自己的技术水平进行一个提升和学习。 实际上,阿里内部的技术交流氛围是极其强烈的,技术人员也经常会交流自己的学习经验和技术总结。今天要分享的,则是Alibaba开发人员献礼的“Java架构成长笔记”,带我们深入内核,拒绝蒙圈!