自定义shell工具函数之get_config()

自定义shell工具函数之get_config()

function get_config() {key=$1default=${2-''}value=$(grep "^${key}=" "${CONFIG_FILE}" | awk -F= '{ print $2 }' | awk -F' ' '{ print $1 }')if [[ -z "$value" ]];thenvalue="$default"fiecho "${value}"
}

这个函数的作用是获取配置文件中指定键的值,并在没有找到对应键的情况下返回默认值。

函数逻辑解释如下:

  • key=$1:将函数的第一个参数(键)赋值给变量key。
  • default=${2-‘’}:将函数的第二个参数(默认值)赋值给变量default,如果没有提供第二个参数,则默认值为空字符串’'。
  • value=KaTeX parse error: Expected group after '^' at position 8: (grep "^̲{key}=" “${CONFIG_FILE}” | awk -F= ‘{ print $2 }’ | awk -F’ ’ '{ print KaTeX parse error: Expected 'EOF', got '}' at position 3: 1 }̲'):使用grep命令在配置文…{CONFIG_FILE}"中查找以指定键开头的行,并使用awk命令提取等号后面的值,并去除可能存在的空格。
  • if [[ -z “$value” ]];then:检查获取到的值是否为空。
    • 如果值为空,则将默认值赋给value。
  • echo “${value}”:输出获取到的值或默认值。

因此,这个函数的作用是从配置文件中获取指定键的值,并在没有找到对应键的情况下返回默认值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/626949.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络(第六版)复习提纲

计算机网络历程 一、计算机网络体系结构 1974年 美国IBM公司: SNA(系统网络体系结构) 1977年 国际标准化组织: OSI/RM(开放系统互连基本参考模型)【抽象概念】 1983年 国际化标准组织: ISO 74…

CMake 实战构建TcpServer项目 静态库/动态库

爱编程的大丙CMake: 20. 举例 - 下_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV14s4y1g7Zj?p20&spm_id_frompageDriver&vd_sourcea934d7fc6f47698a29dac90a922ba5a3 hehedalinux:~/Linux/LinuxServerCpp$ ls Buffer.cpp Log.h Buffe…

基于Java SSM框架实现学生综合考评管理系统项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架实现学生学生综合考评管理系统演示 摘要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 学生综合考评管理系统,主要的模块包括查看;管理员;个…

知识分享:一文读懂AIGC与大模型

什么是大模型? 关于大模型,有学者称之为“大规模预训练模型”(large pretrained language model),也有学者进一步提出”基础模型”(Foundation Models)的概念。 “小模型”:针对特定应用场景需求进行训练&a…

音频文件格式–celt

CELT介绍 CELT 是一种开放、免版税的有损音频压缩格式,也是一种免费软件编解码器,具有特别低的算法延迟,适用于低延迟音频通信。这些算法是公开记录的,并且可以不受软件专利限制地使用。 CELT 是一种基于改进的离散余弦变换 (MD…

你还没脱单,这些软件都得背锅

不管你是否认可情人节概念,是否会在这天与自己的那个ta相聚,每个成年人都会或多或少地思考自己的感情问题。 在互联网兴盛之前,人与人的交往大都依靠职场关系和熟人介绍来结识新的对象,但也有媒人、婚姻介绍所等专门的职业为适龄…

基于Jackson自定义json数据的对象转换器

1、问题说明 后端数据表定义的id主键是Long类型,一共有20多位。 前端在接收到后端返回的json数据时,Long类型会默认当做数值类型进行处理。但前端处理20多位的数值会造成精度丢失,于是导致前端查询数据出现问题。 测试前端Long类型的代码 …

安卓接入google的Firebase登录教程

1.https://console.firebase.google.com创建安卓项目 2.添加google登录 3.添加项目的SHA证书指纹 4. FireBase自动生成(API和服务) https://console.cloud.google.com/apis/credentials?authuser1&projectbattle-against-darkness 5.下载goog…

3.3.2 CSMA/ CD协议

3.3.2 CSMA/ CD协议 CSMA/CD(Carrier Sense Multiple Access with Collision Detection):载波监听多点接入/碰撞检测。 检测到碰撞后: 适配器立即停止发送。(碰撞点后面的信号会一直叠加)等待一段随机时间…

基于WebFlux的Websocket的实现,高级实现自定义功能拓展

基于WebFlux的Websocket 一、导入XML依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-webflux</artifactId> </dependency><!-- 或者引入jackson --> <dependency><group…

使用cURL和wget在Linux上进行HTTP请求和下载

在Linux上&#xff0c;cURL和wget是两个常用的命令行工具&#xff0c;用于发送HTTP请求和下载文件。下面我将详细介绍如何使用这两个工具进行HTTP请求和下载操作。 首先&#xff0c;让我们了解一下cURL。cURL是一个功能强大的命令行工具&#xff0c;可以用来发送各种类型的HTT…

WinEdt运行latex文件有eps图片编译不通过,各种报错解决办法

一、背景 我们在使用Winedt编辑并且编译Latex文件时&#xff0c;一般会选择PDFTeXify格式一键编译和生成pdf&#xff0c;如下图所示的选项&#xff0c;这样确实很方便&#xff0c;但经常会出现bug&#xff0c;例如转圈卡死&#xff0c;或编译不通过&#xff0c;报错Unknown gr…

Opencv_棋盘格标定相机

文章内容&#xff1a; 读取棋盘格图片进行标定生成棋盘格图片保存标定后的内容 棋盘格下载&#xff1a;https://gitee.com/liangbo1996/chessboard_27mm // // 生成棋盘格(demo) // void CreateGridironPattern() // { // // 单位转换 // int dot_per_inch 108; //…

【翻译】在Qt Designer中创建主窗口(Main Windows)

原文地址&#xff1a;https://doc.qt.io/qt-6/designer-creating-mainwindows.html Qt Designer 可用于为不同用途创建用户界面&#xff0c;并为每个用户界面提供不同类型的模板。主窗口模板用于创建具有菜单栏、工具栏和停靠窗口部件的应用程序窗口。 通过打开文件菜单并选择…

外观模式介绍

目录 一、外观模式介绍 1.1 外观模式定义 1.2 外观模式原理 1.2.1 外观模式类图 1.2.2 模式角色说明 1.2.3 示例代码 二、外观模式的应用 2.1 需求说明 2.2 需求实现 2.2.1 类图 2.2.2 具体实现 2.2.2.1 灯光类 2.2.2.2 电视类 2.2.2.3 空调类 2.2.2.4 外观面板类…

微积分在激光雷达的信号处理和数据分析中的应用

微分和积分等数学工具在激光雷达信号处理中被广泛应用&#xff0c;以提取目标的速度、距离和位置信息&#xff0c;并分析目标的运动态。这些研究为激光雷达在目标检测、跟踪和环境感知等领域的应用提供了理论基础和技术支持。有一些论文论述利用激光雷达的测距信息和多普勒效应…

Spring Cloud微服务基础入门

文章目录 发现宝藏前言环境准备创建第一个微服务1. 创建Spring Boot项目2. 创建微服务模块3. 编写微服务代码4. 创建一个简单的REST控制器 运行微服务 总结好书推荐 发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不…

【leetcode刷题】模拟专题

模拟 一、替换所有的问号1、题目链接2、解析3、代码 二、提莫攻击1、题目链接2、解析3、代码 三、Z字形变换1、题目链接2、解析3、代码 四、外观数列1、题目链接2、解析3、代码 五、数青蛙1、题目链接2、解析3、代码 一、替换所有的问号 1、题目链接 leetcode链接 2、解析 3、…

【开源】基于JAVA语言的网上药店系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 药品类型模块2.3 药品档案模块2.4 药品订单模块2.5 药品收藏模块2.6 药品资讯模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 角色表3.2.2 药品表3.2.3 药品订单表3.2.4 药品收藏表3.2.5 药品留言表…

分辨率的定义

1K分辨率是1920x1080&#xff0c;即1080P。2k分辨率是2560x1440&#xff0c;就是1440p。4K分辨率是4096x2160。没有3K视频。 在数字技术领域&#xff0c;通常采用二进制运算&#xff0c;而且用构成图像的像素来描述数字图像的大小。由于构成数字图像的像素数量巨大&#xff0c;…