通常shell中我们需要给变量设置默认值,可能会写出如下代码
#!/bin/bash
if [ ! $1 ]; then
$1='default'
fi
显然这种方式在变量少的时候没啥问题,一旦变量多起来,我们可能就有大量的重复劳动(if判断)
有没有比较优雅的方式,不用写一大堆if判断,显然答案是有的
1.变量为null时
#当变量a为null时则var=b
var=${a-b}
2.变量为null且为空字符串的时候
#当变量a为null或为空字符串时则var=b
var=${a:-b}
分享到:
相关推荐
在Linux中,shell变量主要分为两大类:本地变量和环境变量。除此之外,还存在另外两种特殊变量,它们是只读的,并且主要用作向shell脚本传递参数。 本地变量仅在创建它们的shell生命期内有效,也就是说,它们只在...
### Linux超级基础系列——Shell变量(本地变量与环境变量) #### 一、Shell与Shell变量简介 在Linux操作系统中,Shell是一种用户与操作系统交互的重要工具,它可以解释用户的命令,并将其传递给内核或其他应用...
本章节主要聚焦于SHELL变量的定义与使用,这是SHELL编程中的基础也是核心内容之一。 #### 二、SHELL变量定义 在SHELL编程中,变量是用来存储数据的一种容器。变量的值可以在脚本运行过程中被改变,这对于编写灵活...
【Shell变量学习】 在Shell编程中,变量是存储数据的基本单元,它们可以帮助我们保存和处理各种信息。本文主要探讨了Shell变量的使用、赋值、显示、删除以及一些特殊的操作。 1. **本地变量** 本地变量仅在当前...
这意味着,一旦在某个Shell会话中设置了环境变量,那么在该会话中启动的所有程序都可以访问这些变量。环境变量可以通过命令行设置,但这样做设置的变量只在当前会话中有效。为了永久设置环境变量,用户可以在`....
在默认情况下,Shell变量是没有类型的,但是Bash Shell提供 `declare` 和 `typeset` 命令来指定变量的类型。这些命令可以用来声明只读变量(`-r`),整型变量(`-i`),数组(`-a`),关联数组(`-A`),显示函数名...
如果参数被设置,就用参数值替换变量值,否则设置变量为默认值(`${parameter:=word}`);如果参数被设置,则用参数值替换变量值,否则显示错误信息并退出(`${parameter:?word}`);如果参数被设置,则用参数值替换...
理解并熟练运用这些Shell变量的规则和技巧,对于编写高效、可靠的Linux Shell脚本至关重要,也是软件开发中不可或缺的一部分。通过掌握这些知识点,开发者可以在自动化任务、系统管理等场景中更加得心应手。
在给定的"linux用户环境变量设置.pdf"文件中,主要讲解了如何为root用户和其他普通用户设置环境变量。下面将详细解释这个过程。 1. **root用户设置环境变量** root用户是Linux系统中的超级用户,具有最高的系统...
Shell脚本是编写一系列命令的文本文件,而在这个环境中,变量扮演着关键角色,它们用于存储数据并帮助实现更复杂的逻辑。本篇文章将深入讲解Linux Shell中的变量。 首先,我们来看一下**本地变量**,也称为**SHELL...
变量在shell脚本中扮演着重要角色,它们可以存储数据,如文本、数字或路径。变量分为局部变量(仅在定义它的函数内部可见)和全局变量(在整个脚本中都可访问)。环境变量是所有子进程都可以访问的全局变量,而系统...
在这段代码中,首先定义了三个变量`HKEY_Root`、`HKEY_Path`和`HKEY_Key`,它们分别代表注册表根键、路径和键名。然后通过`ActiveXObject`创建一个`WScript.Shell`对象,并使用其`RegWrite`方法将“header”和...
Shell脚本是由一系列命令、Shell变量和控制结构组成的文本文件。脚本的执行通常需要指定解释器,如`#!/bin/bash`,这称为“shebang”,指示操作系统使用哪个Shell来执行后续的命令。执行脚本有两种方式:一是通过`...
本文将深入探讨Linux系统中的shell编程,主要包括流行的shell类型、shell程序设计基础以及shell变量的使用。 首先,Linux系统中有多种流行的shell,如ash、bash、ksh、csh和zsh等。其中,bash(Bourne Again SHell...
局部变量只在当前shell进程中有效,而全局变量(即环境变量)则会在子进程中同样有效。使用export命令可以将局部变量导出为环境变量,以便在子进程中使用。 6. exec与source的区别:exec命令在Shell中用于执行文件...
- **=句法**:另一种设置变量默认值的方式。 - **:-句法**:当变量未定义时,使用该语法设置默认值。 - **-句法**:如果变量已定义但为空,则使用该语法设置默认值。 - **:?句法**:如果变量未定义或为空,则...
例如,在脚本中检查变量是否已设置,并提供默认值或执行特定操作。 #### 实例演示 下面是一个简单的脚本示例,展示了如何使用变量替换: ```bash #!/bin/bash name="chauney_hang" echo "Show ${name}" # 输出...
- **4.2.3** `${VARIABLE},${VARIABLE:-DEFAULT},${VARIABLE:=DEFAULT},${VARIABLE:+VALUE},${#VARIABLE}`:这些表达式分别用于获取变量值、指定默认值、设置默认值、判断变量是否已设置以及获取变量长度。...