Bash ${}及其它
📅 2026/7/16 1:11:22
👁️ 次浏览
bash \${} 属于参数变量扩展一类用man bash 可以输出完整帮助文档查找参数替换部分可阅读帮助.一: bash 字符串操作:例: FILE_NAME/usr/local/world.txt1. 取字符串长度\${#FILE_NAME}2. 取子串\${FILE_NAME:10} #从位置10开始取字串\${FILE_NAME:5:10} #从位置5开始取10个字符3. 删除字符串匹配\${FILE_NAME##*/} #删除从左开始到/ 止的所有字符 最大匹配\${FILE_NAME#*/} #删除从左开始到/ 止的所有字符 最小匹配\${FILE_NAME%%/*} #删除从右开始到左/ 止的所有字符最大匹配\${FILE_NAME%/*} #删除从右开始到左/ 止的所有字符最小匹配关键是理解#,%,*元字符的作用#是左%是右开始多字符匹配。左trim,右trim之意上面那个/是普通的字符。不要混淆。4. 替换字符串 (也使用匹配操作\${FILE_NAME/world.txt/hello.txt} # 将world.txt 替换成hello.txt\${FILE_NAME//w/W} # 将w 全部换成 W此处的/是元字符, 查找替换之意注: bash 替换字符串中的/为空格 还得借助sed 才比较方便echo \$FILE_NAME |sed s#/# #g就是说它有左trim, 右trim 及查找替换功能.对应的函数原型为(再次总结和举例)\${#string} \$string的长度\${string:position} 在\$string中, 从位置position开始提取子串\${string:position:length} 在\$string中, 从位置position开始提取长度为length的子串\${string#substring} 从变量\$string的开头, 删除最短匹配substring的子串\${string##substring} 从变量\$string的开头, 删除最长匹配substring的子串\${string%substring} 从变量\$string的结尾, 删除最短匹配substring的子串\${string%%substring} 从变量\$string的结尾, 删除最长匹配substring的子串\${string/substring/replacement} 使用replacement, 来代替第一个匹配的substring\${string//substring/replacement} 使用replacement, 代替所有匹配的\ubstring可见, bash 的变量替换, 相校与c函数实现,其输入参数调用方法返回值与C 非常不同。它用了一种更简单的书写方式。5. \${}内对变量进行赋值和引用用echo 命令可以实验5.1 \${filehello.txt} 与 \${file:hello.txt} 有什么区别.\${} 是变量引用扩展, \${file}返回file的引用,这是传递file 的引用, file 若有值,返回file的值\${file}file 无值(不存在或为空时) 是当file 未定义时,返回hello.txt,并把hello.txt 赋值给file: 是当file 未定义或者为空时,返回hello.txt, 并把hello.txt 赋值给file: 会更常用5.2 \${file-hello.txt} 与 \${file:-hello.txt} 的区别这也是传递file 的引用, file 若有值,返回file的值\${file}file 无值(不存在或为空时)- 当file未定义,返回hello.txt, 但对file变量不做赋值:- 当file为定义或为空时,都返回hello.txt, 不更改file变量的值5.3 \${filehello.txt} 及 \${file:hello.txt} 是变量覆盖的意思,把影响变量本身,只影响返回值变量不存在,返回空有值时用新值覆盖:变量不存在或为空,返回空非空用新值覆盖5.4 \${file?hello.txt} 及 \${file:?hello.txt}\${var?提示信息} , 报错输出变量不存在提示信息作为错误信息输出至STDERR:?变量不存在或为空提示信息作为错误信息输出至STDERR二: Bash 取得命令行参数\$#, \$1,\$2,\$3枚举命令行参数: for a in \$ { echo \$a; }----------------------------------------三执行bash如何让命令回显bash -v test.sh或#!/bin/bash -v-x 执行前打印-n 只运行不执行----------------------------------------四 bash 输出等宽数字到变量\$ printf -v str %06d\n 15\$ echo \$str000015----------------------------------------五: bash 的执行顺序:别名,函数,内置命令,外部命令----------------------------------------六:关于bash的有用的几个辅助命令alias 显示所有alias 定义declare -F 显示所有的函数定义declare -f 显示所有的函数定义及内容help 给出所有的内部命令的帮助, 具体的帮助用 help itemhash -l 显示命令hash表enable 判断一个命令是否是内置命令, 例如: enable lsenable -a 列出所有的内部命令type 也可以判断一个命令是什么类型,例如: type lsalias,declare,enable,hash,type都是内置命令。最常见和常用的内置命令是cd 命令其次pwd.alias 命令写脚本语言常用的if then,fi;while do,done;for do,done; case in,esac;也是内部命令用help,及enables 查看所有内部命令。
原文:
http://en.cppreference.com/w/cpp/thread/promise
http://en.cppreference.com/w/cpp/thread/promise/promise
http://en.cppreference.com/w/cpp/thread/promise/~promise
http://en.cppreference.com/w/cpp/thread/promise/operator%3D
http://en.cpprefer…
📅 2026/7/16 1:11:22
原文链接:
http://en.cppreference.com/w/cpp/thread/packaged_task
http://en.cppreference.com/w/cpp/thread/packaged_task/packaged_task
http://en.cppreference.com/w/cpp/thread/packaged_task/~packaged_task
http://en.cppreference.com/w/cpp/thread/pack…
📅 2026/7/16 1:11:22
c:forEach varStatus属性 在 JSP 开发中,JSTL 的 <c:forEach> 标签常用于遍历集合或进行固定次数的循环。其中,varStatus 属性是一个极其重要的功能,它用于获取当前迭代的状态信息。 1. varStatus 的作用与原理 varStatus 属性定义了一…
📅 2026/7/16 1:11:22
1. 双机器人IO信号协同的核心逻辑在工业自动化场景中,多台机器人协同作业已经成为提升生产效率的关键手段。我遇到过不少案例,两台机器人因为信号不同步导致零件装配错位,或者因为逻辑冲突造成产线停摆。要避免这些问题,首先得理解…
📅 2026/7/16 2:01:41
1. 项目概述:这不是一个“客户端”,而是一套可本地运行的Claude代码辅助工作流 “自用版-Claude Code 安装教程”这个标题,乍看像在教你怎么下载一个叫“Claude Code”的Windows软件——但事实恰恰相反。Claude官方从未发布过任何名为“Clau…
📅 2026/7/16 2:01:41
1. 蓝牙模块选型:HC-05与HC-06的核心差异第一次接触蓝牙模块时,很多人会被HC-05和HC-06相似的外观迷惑——它们都是蓝色PCB板、4-6个引脚、尺寸相近。但实际用起来,两者的区别就像智能手机和功能机的差距。我在做智能小车项目时,就…
📅 2026/7/16 2:01:41
1. S32K1 PDB背靠背模式的核心价值第一次接触S32K1的PDB背靠背模式时,我正被电机控制项目中的多路电流采样问题困扰。传统的中断触发方式导致CPU负载过高,采样间隔也不稳定。直到发现PDB这个隐藏技能,才真正体会到硬件自动触发链的魅力。PDB&…
📅 2026/7/16 2:01:41
1. 终端命令解析模块的设计背景在开发命令行工具时,参数解析是最基础但最繁琐的工作之一。传统的C语言风格参数解析(如getopt_long)存在几个明显痛点:类型不安全、扩展性差、错误处理不直观。ZLToolKit的作者在开发流媒体服务器ZL…
📅 2026/7/16 2:01:41
1. 项目概述:为什么足球材质值得深究?在Unity游戏开发中,一个看似简单的足球,往往是检验美术与程序协作、理解PBR(基于物理的渲染)材质流程的绝佳试金石。很多新手开发者会直接从Asset Store下载一个足球模…
📅 2026/7/16 2:00:41
1. 项目概述:为什么用遗传算法解5皇后问题,而不是直接回溯?我带过十几届算法课,也给不少初创团队做过AI架构咨询。每次讲到组合优化问题,学生和工程师的第一反应永远是“写个回溯试试”。这没错——55棋盘上找所有合法…
📅 2026/7/16 0:00:02
前几天调试一个简单的电源模块,用到了5.1V稳压管。电路接好,上电测试,万用表一量——输出居然只有4.7V。第一反应是稳压管坏了,换了一个新的,结果还是4.7V。这让我想起很多初学者都会遇到的困惑:明明标称5.…
📅 2026/7/16 0:00:02
1. 项目概述与核心价值 在高速数字系统、通信设备乃至精密测量仪器中,一个稳定、纯净且可精确调控的时钟信号,往往是整个系统稳定运行的“心跳”。无论是确保数据在光纤中无误传输,还是让ADC/DAC芯片精准采样,亦或是让多块FPGA板卡…
📅 2026/7/16 0:00:02
豆包openclaw最近圈子里都在聊豆包openclaw,我也没忍住,掏腰包入手了一套。说实话,刚拿到手的时候,心里是打鼓的。毕竟市面上类似的智能硬件太多了,有的吹得天花乱坠,用起来却是一堆bug。为了不让大家的钱打水漂,我连续用了半个月。从开箱到日常高频使用,甚至故意测试它…
📅 2026/7/15 22:51:06
SQLyog 13.3.1 社区版在Windows 10/11上的完整安装与连接指南 对于刚接触MySQL数据库管理的开发者和学生来说,选择一个直观易用的图形化管理工具至关重要。SQLyog作为一款轻量级但功能强大的MySQL GUI工具,能够显著提升数据库操作的效率和体验。本文将详…
📅 2026/7/15 19:03:10
SPEC CPU 2006 跨平台基准测试深度实战:ARM/X86/MIPS 架构配置优化与结果分析方法论在当今多元化的计算架构时代,如何客观评估不同处理器平台的真实性能成为系统工程师和性能优化专家的核心挑战。SPEC CPU 2006 作为业界公认的计算密集型基准测试套件&am…
📅 2026/7/15 14:09:20
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/15 22:46:06
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/15 2:24:18
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/15 22:51:03