在本文中,我们将介绍Bash中序列表达式(Sequence Expression)的基础,以在Linux平台中为例。Bash序列表达式通过定义范围(Range)的起点和终点来生成整数或字符范围,它通常与for循环结合使用。

Bash序列表达式(Bash Sequence Expression)

序列表达式采用以下形式:

{START..END[..INCREMENT]}

注:

表达式以一个大括号开始,以一个大括号结束。

START和END可以是正整数或单个字符。

START和END值是强制性的,并用两个点..隔开,它们之间没有空格。

INCREMENT值是可选的,如果存在,它必须与END值分开,并带有两个点..,且点之间没有空格,给定字符后,将按字典顺序扩展表达式。

该表达式将扩展为START和END之间的每个数字或字符,包括提供的值。

格式错误的表达式将保持不变。

这是实际的表达方式:

echo {0..3}

如果未提供INCREMENT,则默认增量为1:

0 1 2 3

您也可以使用其他字符,下面的示例打印字母:

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

如果START值大于END,则表达式将创建一个递减范围:

for i in {3..0}

do

echo "Number: $i"

done

返回:

Number: 3

Number: 2

Number: 1

Number: 0

当给出INCREMENT时,它用作每个生成的项目之间的步骤:

for i in {0..20..5}

do

echo "Number: $i"

done

每个生成的数字比前一个数字大5:

Number: 0

Number: 5

Number: 10

Number: 15

Number: 20

使用整数生成范围时,可以添加前导0以强制每个数字具有相同的长度,要用前导零填充生成的整数,请在START和END前面加上零:

for i in {00..3}

do

echo "Number: $i"

done

返回:

Number: 00

Number: 01

Number: 02

Number: 03

表达式可以使用其他字符作为前缀或后缀:

echo A{00..3}B

返回:

A00B A01B A02B A03B

如果表达式的构造不正确,则将其保持不变:

echo {0..}

返回:

0..

结语

Bash序列表达式使您可以生成一系列整数或字符。

相关主题

linux 生成字母序列,讲解在Linux平台中的Bash序列表达式(Sequence Expression)相关推荐

  1. linux 生成字母序列,Python序列之字符串

    注:本文仅介绍字符串的一些常用的方法 因为字符串属于不可变序列,所以方法中对字符串的修改,都是靠返回一个新字符串来实现的,并没有对老字符串产生影响 1.寻找文本:在字符串中,从左开始寻找自己想要的文本 ...

  2. linux生成的pdf文件,把LINUX MAN PAGE生成为PDF文件的脚本

    代码如下: #! /bin/bash function usage { echo "Usage:" echo " $(basename $0) section topic ...

  3. linux生成秘钥库,在Linux中,生成强预共享密钥(PSK )的4种方法

    预共享密钥(PSK)或也称为共享密钥是一串字符串,在加密过程中用作身份验证密钥.在使用之前共享PSK,并且由双方保持通信,以便在其他身份验证方法如用户名和密码应用之前进行相互身份验证. 在本文中,向你 ...

  4. linux生成文件清单,技术|使用 Linux stat 命令创建灵活的文件列表

    stat 命令提供了很多关于文件的详细信息. 它不仅提供了文件最近变化的日期/时间,还显示了最近访问文件的时间和权限变化.它可以同时告诉你文件的字节大小和块的数量.它可以显示文件使用的 inode 以 ...

  5. linux 生成o 文件,急,linux为什么生成不了.o驱动程序文件

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 在文件和文件都正确的情况下,为什么键入命令之后却生成不了文件,还出现下面的东西 /usr/local/arm/2.95.3/bin/arm-linux-g ...

  6. linux生成火车图案,U大侠Linux系统使用sl命令制作火车动态桌面的介绍

    众所周知,sl命令是Linux系统中的一个趣味命令集,很多人都是在使用ls命令的时候,错把ls命令输入成为sl命令,才发现了这个命令的神奇效果.使用sl命令,还可以让Linux系统的桌面上跑火车,下面 ...

  7. linux生成表格文件大小,如何为linux中的文件夹生成清单(文件列表及其大小和数量)...

    如何生成包含除了填充等文件夹中除特定文件名之外的所有文件的清单. 实际要求 4 issue1425.tgz 3096209598 issue1426.TGZ 3096209591 issue1427. ...

  8. linux生成文件自带时间,linux生成固定日期文件及删除一定日期前的文件

    一.按照一定日期格式命名文件 1.按照一定的格式输出日期: date +"%y%m%d" 格式说明: % : 印出 % %n : 下一行 %t : 跳格 %H : 小时(00-23 ...

  9. 讲解Linux中samba理论讲解及Linux共享访问

    ♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维课堂笔记,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生! ♥️夕阳下,是最美的绽放,树高千尺,落叶归根人生不易, ...

最新文章

  1. 输出9*9口诀python-Python输出9*9乘法表的方法
  2. 委托的Invoke 和 BeginInvoke 与Control的Invoke和BeginInvoke(转-因为写得很好)
  3. Spring入门图解(体系结构-IOC-DI-AOP)
  4. 快速排序到底有多快?
  5. 大话数据结构15 : 线索二叉树
  6. SQL触发器demo
  7. 报错,但不影响运行ERROR: JDWP Unable to get JNI 1.2 environment, jvm-GetEnv() return code = -2...
  8. Keil5 EventRecorder 的STDOUT输出丢包率较大现象
  9. Adbshell相关命令
  10. 【原型设计】第四节:Axure RP9 交面交互的使用说明 01 打开链接交互效果
  11. Android应用框架之Activity
  12. Internet Download Manager v6.41 Build 2
  13. c#进度条刻度_自定义滑动刻度进度条
  14. 数字孪生实际应用:智慧城市项目建设解决方案
  15. GPT和MBR有什么区别?
  16. SpringCloud (五) ——Feign远程调用
  17. 【每天学点Python】案例一:汇率换算
  18. PYTHON MIP 算法实现
  19. java get set写法_java get set方法的使用
  20. Hadoop YARN容错机制

热门文章

  1. python和java哪个-Python和Java哪个好?有什么区别?
  2. python3.7 6如何安装-深度linux安装Python3.7.6
  3. python语言实例-采用python进行编程的实例有哪些?
  4. python适合做后端开发吗-想从事Python 后端开发?
  5. 爬虫好学吗python-小白python学到什么程度可以学习网络爬虫? ?
  6. pythonista安卓版下载-pythonista 3ios
  7. Jetson Xavier NX上安装scipy报错:numpy.distutils.system_info.NotFoundError: No lapack/blas resources found
  8. java课设电子门禁_Door门禁系统.doc
  9. @TransactionalEventListener与@Async实现事务提交后异步处理事件
  10. HackerRank Gift Boxes(hash)