首页 > 其他分享 >bash 中 `${}` 的使用方法(由豆包生成)

bash 中 `${}` 的使用方法(由豆包生成)

时间:2024-09-25 22:02:01浏览次数:8  
标签:变量 default pattern value echo 豆包 var 生成 bash

在 Bash 中,${}是一种参数扩展的语法结构,具有以下主要用法:

一、变量替换

可以用来获取变量的值。

name="Alice"
echo "${name}"
# 输出:Alice

二、字符串操作

  1. 提取子字符串:

    • ${var:start:length}:从变量var中提取从start位置开始,长度为length的子字符串。
    str="Hello World"
    echo "${str:6:5}"
    # 输出:World
    
  2. 删除前缀或后缀:

    • ${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
    

三、变量默认值和替换

  1. 默认值设置:

    • ${var:-default}:如果变量var已设置且非空,则返回其值;否则返回default
    var1=""
    var2="value"
    echo "${var1:-default_value}"
    # 输出:default_value
    echo "${var2:-default_value}"
    # 输出:value
    
  2. 强制替换为默认值:

    • ${var:=default}:如果变量var已设置且非空,则返回其值;否则将其设置为default并返回该值。
    var3=""
    echo "${var3:=new_value}"
    # 输出:new_value
    echo "var3 is now: $var3"
    # 输出:var3 is now: new_value
    

四、变量替换和错误处理

  1. 替换并检查是否为空:

    • ${var:+replacement}:如果变量var已设置且非空,则返回replacement;否则返回空字符串。
    var4=""
    var5="value"
    echo "${var4:+replacement_value}"
    # 输出:空行
    echo "${var5:+replacement_value}"
    # 输出:replacement_value
    
  2. 错误处理:

    • ${var?error_message}:如果变量var已设置且非空,则返回其值;否则打印error_message并退出脚本。
    var6=""
    echo "${var6?Variable is not set}"
    # 脚本会退出并显示错误消息:Variable is not set
    

总之,${}在 Bash 中是非常强大的语法结构,可以用于各种变量操作和字符串处理任务。

标签:变量,default,pattern,value,echo,豆包,var,生成,bash
From: https://www.cnblogs.com/caijianhong/p/18432323

相关文章

  • idea怎么快速生成get set方法,快捷键是什么?
    idea怎么快速生成getset方法参考文章:IntelliJIDEA生成get/set方法的快捷键是什么1、生成某个getset方法alt+enter快捷键:alt+enter2.生成整个类或者某个getset方法alt+insert快捷键:alt+insert点击后,会出现下图弹窗,你可以多选或者单选这些属性对象,然后点击ok......
  • 二维码生成
    go代码二维码生成(github.com/skip2/go-qrcode)代码实现packagemainimport( "fmt" "github.com/nfnt/resize" "github.com/skip2/go-qrcode" "image" "image/draw" "image/png" "os")funcmain()......
  • Shader预热生成的内容会被RUUA卸载吗
    1)Shader预热生成的内容会被RUUA卸载吗2)纯WebGL可以实现微信小游戏提供的WASM分包功能吗3)如何为单个实例添加命中计数4)如何从蓝图中的for循环中获得所有Index这是第402篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更全面地掌握和......
  • LLM大模型: 生成式模型的数学原理和prompt融入image
     1、(1)上文介绍了DDPM生成图片的原理和代码测试结果,训练时给样本图片加上gaussiannoise,预测时也是预测gaussiannoise;这里为啥要用gaussiandistribution?为啥不用其他的分布?高斯分布相对比较简单,只有两个参数:均值和方差,容易控制;为啥一张随机生成的gaussionnoise经过很......
  • 豆包MarsCode初体验,用 React 创建一个最经典的贪吃蛇游戏
    以下是「 豆包MarsCode 体验官」优秀文章,作者Find。背景在人工智能快速发展的时代,大模型(LLM)只要有足够的算力和数据就可以做到任何的事情,甚至可以模拟出另一个地球。LLM作为一个革命化的科技,可以取代很多岗位,甚至可以让人类达到“躺着领钱的时代”。Marscode作为一个新推出的IDE......
  • 人工智能 | 手工测试用例转Web自动化测试生成
    简介在传统编写Web自动化测试用例的过程中,基本都是需要测试工程师,根据功能测试用例转换为自动化测试的用例。市面上自动生成Web或App自动化测试用例的产品无非也都是通过录制的方式,获取操作人的行为操作,从而记录测试用例。整个过程类似于但是通常录制出来的用例可用性、可维......
  • 外网玩疯了,NSFW、毫无底线,FLUX 成为图片生成新王者
    马斯克的Grok-2发布,加入了FLUX模型提供的文生图能力。一夜之间,FLUX毫无底线的图片血洗X(推特)。自从Google把美国开国总统和印第安人都画成黑人之后,马斯克带头掀起另一个极端的文生图刷屏现象。FLUX模型,来自于德国创业公司BlackForestLabs,拳打MJ脚踩SD,图片质......
  • Bash脚本基本语法
    一、Bash脚本以及相关介绍Bash脚本是一种在Unix或Linux操作系统中广泛使用的脚本语言,它允许用户编写一系列命令,这些命令将被Bash(Bourne-AgainSHell)解释器执行。Bash脚本可以用于自动化各种任务,比如文件管理、程序执行、系统维护等。编写Bash脚本的基本步骤包括:创建脚本文......
  • 用这些简单的 Midjourney 提示词,轻松生成超高质图片!
    作者:老余捞鱼原创不易,转载请标明出处及原作者。写在前面的话:    本文详细介绍了如何通过Midjourney平台使用简单的提示词来生成高质量、逼真的图片。即使是简单的提示词也能产生出色的效果,而且可以根据需要逐步增加细节来完善图像。文中提供了多个实际的提示示......
  • php中使用FPDF生成PDF文件
    1.下载安装FPDF,可以在官网上下载(http://www.fpdf.org/),下载压缩包后解压,解压后的文件夹命名为“fpdf”。2.创建一个php文件和“fpdf”平级,代码如下<?phprequire('fpdf/fpdf.php');$pdf=newFPDF();$pdf->AddPage();$pdf->SetFont('Arial','B',16);$pdf->Image('......