shell中的扩展变量

  1. 若sh变量值为空,返回word字符串,赋值给result变量
  2. 若sh变量值为空,则word替代变量值,且返回其值
  3. 若sh变量为空,word当作stderr(异常报错输出信息)输出,否则输出变量值用于设置变量为空导致错误时,返回的错误信息
  4. 若sh变量为空,什么都不做,否则word返回
  5. 实际应用:数据备份,删除过期数据的脚本:   公式:find 需要搜索的目录  -name  你要搜索的文件名字 -type 文件类型 -mtime +7 | xargs rm -f

### Shell脚本中的变量扩展 #### 基础概念 在Shell脚本中,变量扩展是指通过特定语法来访问和操作已定义的变量。这种机制允许用户不仅获取变量的内容,还能对其进行各种处理,从而增强脚本的功能性和灵活性[^1]。 #### 扩展方式及其功能说明 - **基本引用** 使用`$variable_name`或`${variable_name}`的形式可以取得变量值。后者适用于当变量名后面紧跟着字符的情况,以区分边界[^4]。 - **默认赋值** 如果尝试读取未设置过的参数,则可以通过`${parameter:-word}`的方式提供一个临时使用的替代字符串;而`${parameter:=word}`则会在原参数为空时永久设定该缺省值。 - **错误提示** 当遇到不存在的参数且希望立即报错停止程序运行时,可采用`${parameter:?message}`结构,在此情况下如果`parameter`为空或者没被设过,就会打印出`message`并终止当前shell会话。 - **移除前缀/后缀匹配模式** `${parameter#pattern}`, `${parameter##pattern}`用于删除最短/最长左侧符合给定模式的部分; 同理有`${parameter%pattern}`, `${parameter%%pattern}`针对右侧做同样操作. 以下是几个具体的例子展示这些特性的应用: ```bash #!/bin/bash var="hello_world" echo "${var}" # 输出整个变量内容 hello_world echo "${var}_example" # 结合其他文本输出 hello_world_example unset another_var # 清除可能存在的同名旧变量 echo "${another_var-default_value}" # 显示 default_value (因为另一个变量已被清除) name_with_prefix="/path/to/file.txt" echo "${name_with_prefix#/}" # 移除首个斜杠后的结果 path/to/file.txt ``` 上述代码片段展示了不同类型的变量扩展技巧,有助于创建更加智能高效的Shell脚本。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值