Shell变量赋值的使用方法

一、定义变量

在Shell中,用一个变量来存储一个字符串或数字。定义一个变量需要按照以下格式:

variable_name=value

其中,variable_name表示变量名称,value表示变量值。变量名需以字母或下划线开头。变量名中允许使用字母、数字和下划线。变量名区分大小写。

在Shell中定义变量的示例:

str="hello world"
num=100
echo "str="$str
echo "num="$num

输出结果如下:

str=hello world
num=100

二、通过命令行参数传递参数

在Shell脚本中,可以通过命令行参数传递参数。使用特殊变量$0、$1、$2、$3……来获取命令行参数。其中,$0表示脚本名称,$1表示第1个参数,$2表示第2个参数,以此类推。

在Shell中通过命令行参数传递参数的示例:

#!/bin/sh
echo "脚本名称:$0"
echo "第1个参数:$1"
echo "第2个参数:$2"
echo "第3个参数:$3"

运行该脚本并传递3个参数,结果如下:

脚本名称:./test.sh
第1个参数:hello
第2个参数:world
第3个参数:100

三、特殊变量

在Shell中还有一些特殊变量,如下表所示:

变量名 含义
$? 上一个命令的退出状态码,0表示成功,其他表示失败。
$$ 当前进程的进程号。
$! 上一个后台命令的进程号。
$# 命令行参数的个数。
$* 所有命令行参数,以单个字符串表示。
$@ 所有命令行参数,以单个字符串表示,但每个参数都以引号括起来。

四、引号的使用

在Shell中,变量被引号括起来时有不同的含义:

  1. 双引号:变量被双引号括起来时,可以包含空格和特殊字符,并且可以被解析。
  2. 单引号:变量被单引号括起来时,变量名被当成普通字符串,不能被解析。

在Shell中引号的使用示例:

#!/bin/sh
str='hello      world'
echo "str1="$str
str="hello      world"
echo "str2="$str

输出结果如下:

str1=hello      world
str2=hello world

五、取消变量定义

在Shell中,可以使用unset命令取消变量的定义,变量的值将被清空。

在Shell中取消变量定义的示例:

#!/bin/sh
str="hello world"
echo "str1="$str
unset str
echo "str2="$str

输出结果如下:

str1=hello world

str2=

六、变量替换

在Shell中,可以通过一些特殊的符号对变量进行替换。

  1. ${var}:用于获取变量的值。
  2. ${var:-word}:变量未定义或者值为空时,返回word。
  3. ${var:=word}:变量未定义或者值为空时,设置为word。
  4. ${var:+word}:变量已定义且值不为空时,返回word。
  5. ${var:#pattern}:从变量开头开始,删除最短的与pattern匹配的子串。
  6. ${var:##pattern}:从变量开头开始,删除最长的与pattern匹配的子串。
  7. ${var:%pattern}:从变量结尾开始,删除最短的与pattern匹配的子串。
  8. ${var:%%pattern}:从变量结尾开始,删除最长的与pattern匹配的子串。

在Shell中变量替换的示例:

#!/bin/sh
str1="hello world"
echo "变量str1="$str1
echo "获取变量str1的值:${str1}"
echo "未定义变量str2:${str2:-default}"
echo "设置变量str2的值为aaa:${str2:=aaa}"
echo "已定义变量str2:${str2:+default}"
echo "替换变量str1中的l为L:${str1/l/L}"
echo "删除变量str1中的o及其之前的字符:${str1#*o}"
echo "删除变量str1中的l及其之后的字符:${str1%%l*}"

输出结果如下:

变量str1=hello world
获取变量str1的值:hello world
未定义变量str2:default
设置变量str2的值为aaa:aaa
已定义变量str2:default
替换变量str1中的l为L:heLLo world
删除变量str1中的o及其之前的字符:lo world
删除变量str1中的l及其之后的字符:he

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/304471.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2025-01-01 11:05
下一篇 2025-01-01 11:05

相关推荐

  • int类型变量的细节与注意事项

    本文将从 int 类型变量的定义、声明、初始化、范围、运算和类型转换等方面,对 int 类型变量进行详细阐述和讲解,帮助读者更好地掌握和应用 int 变量。 一、定义与声明 int…

    编程 2025-04-29
  • Python中init方法的作用及使用方法

    Python中的init方法是一个类的构造函数,在创建对象时被调用。在本篇文章中,我们将从多个方面详细讨论init方法的作用,使用方法以及注意点。 一、定义init方法 在Pyth…

    编程 2025-04-29
  • Python input参数变量用法介绍

    本文将从多个方面对Python input括号里参数变量进行阐述与详解,并提供相应的代码示例。 一、基本介绍 Python input()函数用于获取用户输入。当程序运行到inpu…

    编程 2025-04-29
  • Python符号定义和使用方法

    本文将从多个方面介绍Python符号的定义和使用方法,涉及注释、变量、运算符、条件语句和循环等多个方面。 一、注释 1、单行注释 # 这是一条单行注释 2、多行注释 “”” 这是一…

    编程 2025-04-29
  • Shell脚本与Python脚本的区别

    本文将从多个方面对Shell脚本与Python脚本的区别做详细的阐述。 一、语法差异 Shell脚本和Python脚本的语法存在明显差异。 Shell脚本是一种基于字符命令行的语言…

    编程 2025-04-29
  • Python下载到桌面图标使用方法用法介绍

    Python是一种高级编程语言,非常适合初学者,同时也深受老手喜爱。在Python中,如果我们想要将某个程序下载到桌面上,需要注意一些细节。本文将从多个方面对Python下载到桌面…

    编程 2025-04-29
  • Python匿名变量的使用方法

    Python中的匿名变量是指使用“_”来代替变量名的特殊变量。这篇文章将从多个方面介绍匿名变量的使用方法。 一、作为占位符 匿名变量通常用作占位符,用于代替一个不需要使用的变量。例…

    编程 2025-04-29
  • 百度地区热力图的介绍和使用方法

    本文将详细介绍百度地区热力图的使用方法和相关知识。 一、什么是百度地区热力图 百度地区热力图是一种用于展示区域内某种数据分布情况的地图呈现方式。它通过一张地图上不同区域的颜色深浅,…

    编程 2025-04-29
  • Python变量在内存中的存储

    该文章将从多个方面对Python变量在内存中的存储进行详细阐述,包括变量的声明和赋值、变量的引用和指向、内存地址的变化、内存管理机制等。 一、声明和赋值 在Python中,变量声明…

    编程 2025-04-29
  • Matlab中addpath的使用方法

    addpath函数是Matlab中的一个非常常用的函数,它可以在Matlab环境中增加一个或者多个文件夹的路径,使得Matlab可以在需要时自动搜索到这些文件夹中的函数。因此,学会…

    编程 2025-04-29

发表回复

登录后才能评论