关于shell的变量替换

一. 前景提要

当我们打开一个终端,其实就是打开了一个交互式的shell程序,我们看到的包括PATH,HOME环境变量都是shell中定义的变量。

二. 变量替换

默认值:${parameter:-word} 如果 parameter 未设置或为空,则使用 word。

替代值:${parameter:=word} 如果 parameter 未设置或为空,则将 parameter 赋值为 word 并返回其值。

错误提示:${parameter:?word} 如果 parameter 未设置或为空,则打印 word 并退出。

替换值:${parameter:+word} 如果 parameter 已设置且非空,则返回 word。

unset var
echo ${var:-"default"}
# 输出:default

var="value"
echo ${var:="default"}
# 输出:value

unset var
echo ${var:?"var is not set"}
# 输出:var: var is not set

var="value"
echo ${var:+"replacement"}
# 输出:replacement

所以通过变量替换我们可以在执行自己的shell程序时,没有定义的变量进行排查

相关推荐

  1. 关于shell变量替换

    2024-07-20 04:30:03       19 阅读
  2. 【springBoot】资源文件变量替换

    2024-07-20 04:30:03       27 阅读
  3. 关于指针变量理解

    2024-07-20 04:30:03       36 阅读
  4. shell 变量

    2024-07-20 04:30:03       20 阅读
  5. Shell 学习笔记 - 变量类型 + 变量赋值

    2024-07-20 04:30:03       19 阅读
  6. shell——变量之字符串截取

    2024-07-20 04:30:03       47 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-20 04:30:03       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-20 04:30:03       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-20 04:30:03       45 阅读
  4. Python语言-面向对象

    2024-07-20 04:30:03       55 阅读

热门阅读

  1. JVM--内存分配与回收策略

    2024-07-20 04:30:03       17 阅读
  2. autosar mcal I2C

    2024-07-20 04:30:03       16 阅读
  3. 关于防重,我是这么设计的

    2024-07-20 04:30:03       15 阅读
  4. python实现计数排序、桶排序和基数排序算法

    2024-07-20 04:30:03       14 阅读
  5. Carousel of Combinations

    2024-07-20 04:30:03       17 阅读
  6. VUE Pinia和Vuex的比较

    2024-07-20 04:30:03       18 阅读
  7. 前端下载文件流 出现乱码 解决方案

    2024-07-20 04:30:03       17 阅读
  8. Odoo17应用、模型、字段

    2024-07-20 04:30:03       16 阅读
  9. Python使用distutils.version的StrictVersion比较版本大小

    2024-07-20 04:30:03       16 阅读
  10. GESP CCF C++ 八级认证真题 2024年6月

    2024-07-20 04:30:03       19 阅读
  11. C++ 前向声明

    2024-07-20 04:30:03       18 阅读