首页 > 其他分享 >如何用在bash中截取部分系统参数?

如何用在bash中截取部分系统参数?

时间:2024-06-07 15:56:29浏览次数:10  
标签:脚本 变量 截取 参数 var 连接 bash

背景

在编程过程中遇到一个问题。在一个bash脚本中,我需要用lame重新生成音频文件的压缩版本。原有的参数为三个:种子值源txt文件目标wav文件。我希望的是能够顺便自动生成压缩的mp3版本以及添加了背景音乐的版本,但是我又不希望添加新的输入参数。这样,对于原本的系统参数进行切割和连接就成为必要的操作。

问题

如何切割bash从系统中获得的参数,并把参数和新的文件后缀连接在一起?

方案

第一,一般来说,bash脚本中,$0表示脚本自身的名称,$1表示第一个参数,$2表示第二个参数,$3之后的以此类推。

第二,bash脚本用$符号获取变量的值。换言之,不管是系统变量,还是脚本自身通过=所命名的变量,都可以通过$进行获取。

第三,bash脚本对变量获取提供了索引的语法格式:${var:start:end}。其中var是你的变量名。start是起始位置,值应为正值,表示从左到右,从0开始计。

end是结束位置,可正可负。为负值,值的大小相当于从变量尾部删除的字符数目。

如果为起始位置/结束位置空,表示到首/尾处,不进行截取。

第四,bash脚本对于变量的连接,只需要在字符串内把变量和字符串内容连接在一起即可(如果会出现变量和字母连接的情形,用${var}的语法格式声明变量名的边界即可)。

所以对于某个变量i,要其最后三个字符为指定值,一个通用的范式为:


"${i::-3}<new-value>"

评价

好处是可以不用在多在bash中执行命令,或者在脚本中增加新的参数。

不足还有待观察。

标签:脚本,变量,截取,参数,var,连接,bash
From: https://www.cnblogs.com/Laziko/p/18236556

相关文章

  • SVC推理参数说明
    WebUI参数说明选择主模型文件主模型配套的配置文件主模型配套的扩散模型扩散模型配套的配置文件聚类模型或特征检索。(可选)        聚类模型:需单独训练聚类模型,其可以减小音色泄露,使得音色更接近于原声(效果不是很明显)。单纯的完全使用聚类模型,会导致出现口齿不......
  • Curl 命令参数解析
    Curl参数:详细解析与示例curl是一个功能强大的命令行工具,用于传输数据。它支持多种协议,如HTTP、HTTPS、FTP、SFTP等。curl提供了丰富的参数,以满足各种传输需求。本文将详细解析curl参数,并通过代码示例说明其用法。1.参数概述curl参数分为两大类:通用参数和协议相关......
  • [中文参数] AGFA027R31C2I3V、AGFA027R31C2I3E、AGFA027R31C2E3E、AGFA027R31C2E4X面
    Agilex™FPGA产品组合包含一系列产品,可充分满足每一个技术领域(从边缘到嵌入式系统,再到通信和数据中心)的众多可编辑逻辑需求。在所有这些领域中,数据爆炸导致新产品需求激增,以便移动、处理和存储数据并从中获得可执行的深度分析。这些产品的开发人员需要硬件灵活性来应对不断变化......
  • python系列:FASTAPI系列 04-GET请求 params参数
    FASTAPI系列04-GET请求params参数FASTAPI系列04-GET请求params参数前言一、查询参数二、参数的默认值三、多路径查询参数四、查询参数为必填项总结FASTAPI系列04-GET请求params参数前言get请求的参数在url后面携带,通常称做queryparams一、查询参数在......
  • mysql 简单参数配置
    showglobalvariableslike'%timeout%';showglobalvariableslike'%buffer%'; innodb_buffer_pool_size=60Gwait_timeout=2400 showglobalvariableslike'%wait_timeout%';showglobalvariableslike'%innodb......
  • 在Linux中,BASH 和 DOS之间的区别是什么?
    BASH(BourneAgainSHell)和DOS(DiskOperatingSystem)之间存在显著的区别,这些差异不仅体现在它们的设计哲学、功能特性上,也反映在它们所服务的操作系统环境及其用途上。以下是一些主要的区别:性质和定位:BASH:是一种命令行解释器(shell),它是用户与Linux或其他类UNIX操作系统交互......
  • C++缺省参数函数重载
    缺省参数大家知道什么是备胎吗?C++中函数的参数也可以配备胎。3.1缺省参数概念缺省参数是声明或定义函数时为函数的参数指定一个默认值。在调用该函数时,如果没有指定实参则采用该默认值,否则使用指定的实参。voidTestFunc(inta=0){cout<<a<<endl;}intmain(......
  • OPA197IDBVR精密运算放大器芯片中文资料PDF数据手册引脚图产品参数特性
    OPA197的说明OPAx197系列(OPA197、OPA2197和OPA4197)是新一代36V运算放大器。这些器件具有出色的直流精度和交流性能,包括轨至轨输入/输出、低偏移(典型值为±25µV)、低温漂(典型值为±0.25µV/°C)和10MHz带宽。OPAx196拥有拥有诸多独一无二的特性,例如电源轨的差分输......
  • OPA1679QRUMRQ1音频运算放大器中文资料PDF数据手册引脚图产品参数特性
    OPA1679-Q1的说明双通道OPA1678-Q1和四通道OPA1679-Q1(OPA167x-Q1)运算放大器提供更高的系统级性能在音频电路中常用的传统运算放大器上。OPA167x-Q1放大器实现了低噪声密度为4.5nV/√Hz,0kHz时失真低至0001.1%,其中提高音频信号保真度。这些器件还提供轨到轨输出摆......
  • Stable diffusion prompts 使用语法、参数讲解、插件安装教程
    Stablediffusionprompts使用语法、参数讲解、插件安装教程本文基于StablediffusionWebUI进行讲解(安装在AutoDL上,安装在本地电脑上的也同样适用本教程)。初始界面:文件目录结构:上图红框中的4个文件夹是我们常用到的,embeddings放置训练的embedding模型,它可......