首页 > 系统相关 >【Linux】全面讲解 Shell 变量的那些事

【Linux】全面讲解 Shell 变量的那些事

时间:2024-09-10 10:22:53浏览次数:9  
标签:Shell 变量 Linux 字符串 123 讲解 var 环境变量

本文内容均来自个人笔记并重新梳理,如有错误欢迎指正!

如果对您有帮助,烦请点赞、关注、转发、订阅专栏!


专栏订阅入口

Linux 专栏 | Docker 专栏 | Kubernetes 专栏


往期精彩文章

【Docker】(全网首发)Kylin V10 下 MySQL 容器内存占用异常的解决方法

【Docker】(全网首发)Kylin V10 下 MySQL 容器内存占用异常的解决方法(续)


目录

一、基本介绍

1、Shell 的概念

2、变量的概念

二、变量的数据类型

1、字符串(String)

2、整数(Integer)

3、数组(Array)

4、只读变量(Readonly)

三、变量的作用类型

1、环境变量

2、本地变量

3、位置变量

四、变量的相关操作

1、查看变量

2、变量特殊赋值

3、变量中字符串操作

4、环境变量持久化


一、基本介绍
1、Shell 的概念

在 Linux 系统中,Shell 是用户与内核之间交互的接口程序,为用户提供使用操作系统的接口,也被称为命令解释器。Shell 接收用户输入的命令,并将其转换为 Linux 系统可以理解的操作,最终通过调用相应的程序来完成这些操作。

2、变量的概念

在 Linux Shell 中,变量通常用于存储全局数据、局部数据或临时数据。

变量的一般定义格式如下:

<变量名>=<变量值>

# 示例:var=123

定义变量时,需要注意以下几点:

  • 等号(=)两边不能有空格,否则会出现 command not found 报错
  • 变量名区分大小写
  • 变量名中只能包含字母、数字、下划线,且不能以数字开头
  • 变量名中避免使用 Shell 关键字,如 if、then、for、do、done、while、case、function 等
  • 变量名中避免使用特殊符号和空格
  • 变量名中尽量使用大写字母表示常量
  • 变量值中如果包含空格,应当使用单引号 '' 或双引号 "" 将变量值括起来,作为字符串使用


二、变量的数据类型
1、字符串(String)

在 Linux Shell 中,字符串是最常用的数据类型,主要用于存储文本信息:

  • 变量值可以包含字母、数字、特殊符号和空格
  • 变量值可以用单引号 ''、双引号 "" 或不加引号

如果没有特别的声明,所有 Shell 变量在赋值后,其对应的变量值都是以字符串的形式存储的,即使变量值看起来是数字,因此以下变量定义都是等价的:

var=123
或
var='123'
或
var="123"

2、整数(Integer)

在 Linux Shell 中,可以使用 declare -i 或 let 命令将变量声明为整数,变量值只能包含数字。

declare -i var=123
或
let var=123

3、数组(Array)

在 Linux Shell 中,可以使用 declare -a 命令将变量声明为数组。

declare -a var=(1 2 3)

标签:Shell,变量,Linux,字符串,123,讲解,var,环境变量
From: https://blog.csdn.net/2401_82795112/article/details/141866413

相关文章

  • 基于springboot+vue.js的网吧管理系统附带文章源码部署视频讲解等
    文章目录前言详细视频演示具体实现截图核心技术介绍后端框架SpringBoot前端框架Vue持久层框架MyBaits为什么选择我代码参考数据库参考测试用例参考源码获取前言......
  • 基于springboot+vue.js的校园服务系统附带文章源码部署视频讲解等
    文章目录前言详细视频演示具体实现截图核心技术介绍后端框架SpringBoot前端框架Vue持久层框架MyBaits为什么选择我代码参考数据库参考测试用例参考源码获取前言......
  • 实例讲解Simulink CAN通讯丢失故障判定模型搭建及仿真测试验证方法
    在电动汽车VCU软件开发中,要开发故障诊断模块,故障诊断类型中CAN报文通讯丢失的判定是非常重要的一个,当检测到某个控制器CAN报文通讯丢失,即接收不到该控制器的有效CAN信号,需要根据通讯丢失的判断作出相应的故障处理,以保证整车行车安全。本文通过ABS通讯丢失Simulink模块的搭建,介......
  • Linux Makefile文件名处理函数知识详解
    GNUmake提供了一系列对文件名进行各种操作的函数:文件名替换、加前缀、去目录等。1.1dir函数:取路径名的目录dir函数用来从一个路径名中截取目录的部分。$(dirNAMES…)dir函数会从NAMES文件名序列中,取出各个文件路径名中的目录部分并返回.PHONY:allLIST=/home/wit/ban......
  • DMA的超通俗讲解(巨TM详细)(再不懂回家放牛种地吧)
    注意注意,本文只用"国粹"来讲解DMA的原理,请大家准备好。作者:你你你,那个谁,坐下,听我说两句(叫我装逼王!)观众:装逼王!装逼王!装逼王!装逼王!(还有人在挥手!还有摇旗的)好,我先现在开始⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇......
  • FreeBSD兼容模式linux账户指向FreeBSD账户造成的困扰
    发现FreeBSD兼容模式linux账户指向FreeBSD账户,这导致账户出现了紊乱。比如FreeBSD下账户guest的id是1001,linux兼容模式下的guest账户id是1004#FreeBSD下目录归属drwxr-xr-x71skywalkskywalk1089月613:59skywalk#Linux下mud归属drwxr-xr-x71linuxskywalk......
  • Linux登录root出现-bash-4.2#
    登录root时出现-bash-4.2#原因之一可能是你将/root目录下的.bash_logout,.bash_profile,.bashrc文件删除了,或者是修改了没效果我们直接创建用户将用户的主目录下的这三个文件cp过来即可useradd-d/home/asiasi然后复制目录cp/home/asi/.bash_logout/rootcp/......
  • 【ZYNQ MPSoC Linux开发】为什么ZYNQ的EMIO不需要配置pinctrl子系统而只需要配置GPIO
        要细究这个问题,首先要知道pinctrl子系统和GPIO子系统究竟是干什么的,pinctrl子系统主要用于配置引脚的状态(如功能复用、电气属性等),而在Linux的软件架构中,GPIO子系统提供了对GPIO引脚的直接操作接口,如设置引脚方向、读取/写入引脚值等。    我们知道,在使用......
  • Linux:多路转接 select、poll、epoll
    1:select#include<sys/select.h>intselect(intnfds,fd_set*readfds,fd_set*writefds,fd_set*exceptfds,structtimeval*timeout);   select函数是POSIX标准定义的一个系统调用,用于监视多个文件描述符(filedescriptors),以确定它们是否具有可读、可写或异常......
  • springboot+vue+mybatis计算机毕业设计老年人健康管理系统+PPT+论文+讲解+售后
    近些年来,随着科技的飞速发展,互联网的普及逐渐延伸到各行各业中,给人们生活带来了十分的便利,老年人健康管理系统利用计算机网络实现信息化管理,使整个老年人健康管理的发展和服务水平有显著提升。本文拟采用Eclipse开发工具,JSP技术,SSM框架进行开发,后台使用MySQL数据库进行信息......