shell脚本中的花括号扩展

2023-10-29

shell脚本中的花括号扩展
  1. 在shell脚本中可以在花括号中使用一组以逗号分隔的字符串或者字符串序列来进行字符串扩展,最终输出的结果为以空格分隔的字符串(整数也可)

    [root@mao_aliyunserver bin]# echo {1..10}
    1 2 3 4 5 6 7 8 9 10
    [root@mao_aliyunserver bin]# echo {a..z}
    a b c d e f g h i j k l m n o p q r s t u v w x y z
    
  2. 使用花括号扩展时花括号不可以被单引号或者双引号引用

    [root@mao_aliyunserver bin]# echo "{1..10}"
    {1..10}
    [root@mao_aliyunserver bin]# echo '{1..10}'
    {1..10}
    
  3. 如果使用字符串序列后面跟一个步长(整数),默认值为1或-1

    [root@mao_aliyunserver bin]# echo {1..10..2}
    1 3 5 7 9
    [root@mao_aliyunserver bin]# echo {a..z..2}
    a c e g i k m o q s u w y
    
  4. 使用花括号扩展时在花括号前面和后面都可以添加可选字符串,且花括号扩展支持嵌套

    [root@mao_aliyunserver bin]# echo a{a..d}c
    aac abc acc adc
    [root@mao_aliyunserver bin]# echo 开{炮,礼{品,花,盒}}了
    开炮了 开礼品了 开礼花了 开礼盒了
    
  5. 花括号扩展的简单应用

    #批量生成文件
    [root@mao_aliyunserver test]# ll
    total 0
    [root@mao_aliyunserver test]# touch ./{a..e}.txt
    [root@mao_aliyunserver test]# ll
    total 0
    -rw-r--r-- 1 root root 0 Feb 14 22:44 a.txt
    -rw-r--r-- 1 root root 0 Feb 14 22:44 b.txt
    -rw-r--r-- 1 root root 0 Feb 14 22:44 c.txt
    -rw-r--r-- 1 root root 0 Feb 14 22:44 d.txt
    -rw-r--r-- 1 root root 0 Feb 14 22:44 e.txt
    
    #备份文件
    [root@mao_aliyunserver test]# ll
    total 0
    -rw-r--r-- 1 root root 0 Feb 14 22:45 test.txt
    [root@mao_aliyunserver test]# cp test.txt{,.bak}
    [root@mao_aliyunserver test]# ll
    total 0
    -rw-r--r-- 1 root root 0 Feb 14 22:45 test.txt
    -rw-r--r-- 1 root root 0 Feb 14 22:46 test.txt.bak
    
    #类似备份文件的需要几个相似参数的命令都可以用花括号扩展,例如重命名
    [root@mao_aliyunserver test]# ll
    total 0
    -rw-r--r-- 1 root root 0 Feb 14 22:46 test.txt.bak
    [root@mao_aliyunserver test]# mv test.txt{.bak,}
    [root@mao_aliyunserver test]# ll
    total 0
    -rw-r--r-- 1 root root 0 Feb 14 22:46 test.txt
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

shell脚本中的花括号扩展 的相关文章

  • 使用 --prof 选项创建多个日志文件而不是一个 v8.log 的节点

    我正在尝试使用 prof 选项来分析我的 Node 应用程序 但我发现不是一个单一的 v8 log 文件 而是使用诸如isolate 0x9582b40 v8 log isolate 0xa1cab78 v8 6049 等前缀创建的多个文件
  • 如何指定配置脚本的包含目录

    我的工作场所有一个 Linux 系统 其中包含相当旧的软件包 并且没有 root 访问权限 我正在从源代码编译我需要的包 prefix somewhere in homedir 我的问题是我只是不知道如何说服配置在特定目录中查找头文件 源码
  • 如何通过不同的接口路由 TCP/IP 响应?

    我有两台机器 每台机器都有两个有效的网络接口 一个以太网接口eth0和 tun tap 接口gr0 目标是使用接口在机器 A 上启动 TCP 连接gr0但然后让机器 B 的响应 ACK 等 通过以太网接口返回 eth0 因此 机器 A 发出
  • 如何使用 VSCode 调试 Linux 核心转储?

    我故意从我使用 VSCode 编写的 C 应用程序生成核心转储 我不知道如何调试核心转储 有没有人愿意分享这方面的经验 更新 我相信我现在已经可以使用了 我为核心文件创建了第二个调试配置 我需要添加指向生成的转储文件的 coreDumpPa
  • 将 bash 提示符下的当前命令复制到剪贴板

    我想要一个快速的键盘命令序列 将 bash 提示符处的当前命令复制到剪贴板 例如 要将最后一个 bash 命令复制到剪贴板 我会按 up some command sequence 复制它 或者 例如 要在 bash 历史记录中搜索命令 我
  • 如何在 bash_profile 文件中添加导出语句?

    我正在尝试了解是否必须添加导出语句来在 bash profile 文件中设置变量 我该怎么做呢 例如 如果我必须添加 export AX name 那么我应该将其简单地写在文件末尾还是我还需要编写其他内容 简单写一下export AS na
  • “alias: =: not found”,且未定义别名,在 .bashrc 中使用“alias ll = 'ls -l'”

    我在 Mac OSX 上并尝试在 bashrc 中添加一些基本别名 例如alias ll ls l 我在 bash profile 中获取了 bashrc 启动时它识别出我在 bashrc 中的函数 但是 每次添加别名然后尝试启动它时 我都
  • mongodb 正在运行吗?

    我已经在我的 Unix 服务器上安装了 Mongodb 和 PHP 驱动程序 我的问题是如何判断 Mongodb 是否正在运行 是否有一个简单的命令行查询来检查状态 如果我从外壳程序启动一次 如果我退出外壳程序 它会继续运行 情况似乎并非如
  • 关闭 python 后让进程保持运行

    我希望在终止原始进程后继续运行进程 以下代码在终止原始进程后不会使其进程保持运行 args yes Popen args shell True stdout None stdin None stderror None 我已经尝试了我能想到的
  • 无法连接到 Azure Ubuntu VM - 公钥被拒绝

    我们在 Azure 上使用 Ubuntu VM 一段时间了 很少遇到任何问题 然而 其中一台虚拟机最近出现了问题 出乎意料的是 Ubuntu VM 开始拒绝公钥 ssh i azure key email protected cdn cgi
  • 如何在 Linux 中向热敏打印机发送 ESC/POS 命令

    我正在尝试在热敏打印机上发送 ESC POS 命令 但每当我发送它们时 热敏打印机都会将它们打印为文本 而不是作为命令执行它们 我在 prn 文件中编写这些命令 每当我执行 lp 命令来打印文件时 这些 prn 文件也会被打印 但作为文本
  • grep 彩色线条

    我编写了一个简单的 PHP shell 脚本 它解析文件并输出某些元素 它产生大量的输出 采用不同的 bash 颜色 绿色表示正常 黄色表示警告 红色表示错误等 在开发过程中我想过滤掉一些行 例如 所有包含红色文本的行 我可以使用grep
  • 通过名称获取进程ID

    我想在 Linux 下获得一个给定其名称的进程 ID 有没有一种简单的方法可以做到这一点 我还没有在 C 上找到任何可以轻松使用的东西 如果追求 易于使用 char buf 512 FILE cmd pipe popen pidof s p
  • 在 MacOS 上构建需要 net461 的 dotnet SDK 项目的最简单方法

    我有一个 dotnet SDK sln and a build proj with
  • Bash 目录上的 For 循环

    快速背景 ls src file1 file2 dir1 dir2 dir3 Script bin bash for i in src do if d i then echo i fi done Output src dir1 src di
  • 打印 STDOUT/STDERR 并将它们写入 Bash 中的文件?

    有没有办法让 Bash 将 STDOUT STDERR 重定向到文件 但仍然将它们打印到终端 这会将 STDOUT 和 STDERR 重定向到同一个文件 some command 2 gt 1 tee file log Example to
  • EULA 接受 Bash 脚本

    我有一个尝试安装垃圾箱的脚本 除了 bin 在 more 中打开 EULA 之外 一切正常 在脚本再次开始并自行完成安装之前 您必须手动 ctrl c 退出此 more 实例 因为这更多的是逃离 shell 所以脚本在打开后不知道要运行什么
  • 如果文件修改日期早于 N 天

    此问题涉及在文件的修改日期早于这么多天时采取行动 我确信创建日期或访问日期会类似 但对于修改日期 如果我有 file path name to some file N 100 for example N is number of days
  • 相当于 UNIX diff 和 patch 的本机 PowerShell

    我需要潜在地修补文件作为脚本的一部分 为了使脚本所做的事情更具可读性 我想以类似于 UNIX diff 和 patch 方法的方式来实现它 在标准 UNIX 系统上 diff 可以生成特殊格式的文本文件 表示两个文件之间的差异 这可以与要修
  • 如何使用 bash 脚本通过 tar 备份文件系统?

    我想备份我的 ubuntu 文件系统 我写了这个小脚本 这是非常基本的 但这是我第一次尝试 我害怕犯错误 由于需要几个小时才能完成才能看到结果 因此我认为最好向经验丰富的程序员询问我是否做错了什么 我特别感兴趣 gt 会记录输出mv或者它也

随机推荐

  • Java 设计模式(六):代理模式

    代理模式 GitHub 地址 https github com yifanzheng java design patterns 代理模式 Proxy Design Pattern 在不改变原始类代码的情况下 通过引入代理类来给原始类增加功能
  • QT中槽的使用

    一 建立槽和按钮之间的连接 connect 信号发送者 发送的信号 信号接收者 信号接收者的槽函数 1 例子 connect ui gt pushButton SIGNAL clicked bool this SLOT showinfo 解
  • 11-11 重定向标准输入输出流(部分待定)

    1 freopen 将 stdout 重定向到其他文件流 stdout 是输入到控制台中的文件流 但可以通过 freopen 函数将其重定向到其他文件流 即输出内容不再显示在控制台 而在指定文件流 例如自定义的文件 中 例如 将 stdou
  • ElementUI 组件设置全局默认值

    最近碰到个需求 要求把管理系统的所有 el select 元素都添加 clearable 属性 整个管理系统估计有几百个页面 el select 的数量更是不计其数 如果用传统方法一个一个的找然后添加属性 绝对是不现实的 实际上可以通过设置
  • 使用docker安装mindspore1.3.0

    使用命令拉取镜像 sudo docker pull swr cn south 1 myhuaweicloud com mindspore mindspore gpu 1 3 0 运行 docker run it v dev shm dev
  • 分类算法之朴素贝叶斯——简单天气预报算法

    这两天学习了一个相对比较简单但是十分实用的分类算法 贝叶斯分类算法 与我做项目使用的svm算法相比确实有很多精妙之处 好比撒尿牛丸 好吃又好玩 而贝叶斯分类器则是简单又强大 本文结合简单天气预报进行讲解 贝叶斯定理 贝叶斯定理是概率论里面一
  • mobaxterm ssh登录access denied解决方法

    因为想要在远程复制文件到控制的虚拟机中 因此xterm这边要以root的身份登录 建立会话开启连接后会提示你 login as 输入root 然后输入密码 但是显示 Access denied 可能原因 在虚拟机中ssh的配置文件中设置的不
  • 【测试开发】关于性能测试的各种指标

    关于性能测试的各种指标 本指标适用于使用性能测试进行性能测试项目技术质量评价依据 规范技术测试结果评价 统一性能测试技术测试质量度量 应用系统技术质量度量指标范围广泛 本文难以涵盖全部 预期读者为测试管理人员 测试实施人员 技术支持人员 项
  • 蓝桥杯大赛— —每日一题(7、最优包含)

    问题描述 本题总分 15 分 我们称一个字符串 S 包含字符串 T 是指 T 是 S 的一个子序列 即可以从 字符串 S 中抽出若干个字符 它们按原来的顺序组合成一个新的字符串与 T 完 全一样 给定两个字符串 S 和 T 请问最少修改 S
  • ng bootstrap css,ng-bootstrap: NG Bootstrap 是基于 Angular(非 Angular.js)开发的 Bootstrap CSS 框架的指令集...

    NG Bootstrap Angular directives specific to Bootstrap 4 Welcome to the Angular version of the Angular UI Bootstrap libra
  • MIPI接口

    接口 分辨率 说明 RGB 800 480以下 大部分AP均支持RGB接口 此类LCD在低端平板广泛使用 LVDS 1024 768及以上 主要通过转换芯片将RGB等专程LVDS来支持 少量AP直接集成 此类LCD目前在中高端平板和笔记本中
  • What does assigning ‘shift‘ to a variable mean?

    原文链接 https stackoverflow com questions 7082811 what does assigning shift to a variable mean 7082897 Example use strict m
  • 进程管理工具之Supervisor

    Supervisor是用Python 开发的一个client server服务 是 Linux Unix系统下的一个进程管理工具 不支持Windows系统 它可以很方便的监听 启动 停止 重启一个或多个进程 用Supervisor管理的进程
  • 傻瓜攻略(十七)——MATLAB实现SVM二分类之fitcsvm

    以下内容基于MATLAB官网的介绍文档 进行了一点个人的理解和整理 不算原创 但也不是单纯的翻译 具体内容缺斤少两的 想看具体的英文内容请点击链接fitcsvm MATLAB实现SVM二分类之fitcsvm fitcsvm 几个例子 Tra
  • 看完秒懂ICA(含MATLAB和python代码)

    绪论 独立成分分析ICA是一个在多领域被应用的基础算法 ICA是一个不定问题 没有确定解 所以存在各种不同先验假定下的求解算法 相比其他技术 ICA的开源代码不是很多 且存在黑魔法 有些步骤并没有在论文里提到 但没有这些步骤是无法得到正确结
  • WSL2 的docker里使用显卡的安装

    懒得看的话直接跳到结论 1 先根据这里https docs microsoft com zh cn windows wsl install win10 simplified installation for windows insiders
  • MySQL数据库设计总结

    阅读原文 更多技术干货 请访问腾云阁 规则1 一般情况可以选择MyISAM存储引擎 如果需要事务支持必须使用InnoDB存储引擎 注意 MyISAM存储引擎 B tree索引有一个很大的限制 参与一个索引的所有字段的长度之和不能超过1000
  • OCR识别引擎tesseract使用方法

    最近一直跟OCR打交道 学习了下google的OCR引擎TESSERACT 是个很好的识别工具 tesseract 3 0已支持版面分析 功能很强大 安装tesseract前可选择性地安装leptonica和libtiff 不过建议先安装这
  • 主板电源开关接口图解_主板跳线接法图解

    大家好 今天分享一篇来自装机吧官网 zhuangjiba com 的图文教程 大家有没有过兴奋的买齐了硬件 准备装机了 装到一半发现 哎呀 这机箱的主板跳线如何接呢 害怕接错一不小心就把主板和其他硬件给烧了咋办 其实这种情况小编以前自己装机
  • shell脚本中的花括号扩展

    shell脚本中的花括号扩展 在shell脚本中可以在花括号中使用一组以逗号分隔的字符串或者字符串序列来进行字符串扩展 最终输出的结果为以空格分隔的字符串 整数也可 root mao aliyunserver bin echo 1 10 1