bash 中 `${}` 的使用方法(由豆包生成)
在 Bash 中,${}是一种参数扩展的语法结构,具有以下主要用法:
一、变量替换
可以用来获取变量的值。
name="Alice"
echo "${name}"
# 输出:Alice
二、字符串操作
- 
提取子字符串: - ${var:start:length}:从变量- var中提取从- start位置开始,长度为- length的子字符串。
 str="Hello World" echo "${str:6:5}" # 输出:World
- 
删除前缀或后缀: - ${var#pattern}:从变量- var的开头删除最短匹配的- pattern。
- ${var##pattern}:从变量- var的开头删除最长匹配的- pattern。
- ${var%pattern}:从变量- var的末尾删除最短匹配的- pattern。
- ${var%%pattern}:从变量- var的末尾删除最长匹配的- pattern。
 path="/home/user/documents/file.txt" echo "${path##*/}" # 输出:file.txt echo "${path%/*}" # 输出:/home/user/documents
三、变量默认值和替换
- 
默认值设置: - ${var:-default}:如果变量- var已设置且非空,则返回其值;否则返回- default。
 var1="" var2="value" echo "${var1:-default_value}" # 输出:default_value echo "${var2:-default_value}" # 输出:value
- 
强制替换为默认值: - ${var:=default}:如果变量- var已设置且非空,则返回其值;否则将其设置为- default并返回该值。
 var3="" echo "${var3:=new_value}" # 输出:new_value echo "var3 is now: $var3" # 输出:var3 is now: new_value
四、变量替换和错误处理
- 
替换并检查是否为空: - ${var:+replacement}:如果变量- var已设置且非空,则返回- replacement;否则返回空字符串。
 var4="" var5="value" echo "${var4:+replacement_value}" # 输出:空行 echo "${var5:+replacement_value}" # 输出:replacement_value
- 
错误处理: - ${var?error_message}:如果变量- var已设置且非空,则返回其值;否则打印- error_message并退出脚本。
 var6="" echo "${var6?Variable is not set}" # 脚本会退出并显示错误消息:Variable is not set
总之,${}在 Bash 中是非常强大的语法结构,可以用于各种变量操作和字符串处理任务。
本文来自博客园,作者:caijianhong,转载请注明原文链接:https://www.cnblogs.com/caijianhong/p/18432323
 
                    
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号