Bash 中变量的大括号扩展

2024-04-10

我想在 Bash 中扩展一个变量。这是我的例子:

variable="{1,2,3}"
echo $variable

预期输出:

1 2 3

实际输出:

{1,2,3}

由于 bash 执行命令行扩展的顺序,扩展不起作用。如果您阅读手册页,您会看到顺序是:

  1. 支撑扩张
  2. 波形符扩展
  3. 参数扩展
  4. 命令替换
  5. 算术扩展
  6. 工艺替代
  7. 分词
  8. 路径名扩展
  9. 报价删除

参数扩展发生在大括号扩展之后,这意味着您不能像您尝试的那样将大括号扩展放入变量内。

但别害怕,答案一定有!要将数字列表存储在变量中,可以使用数组。

variable=(1 2 3)
echo "${variable[@]}"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Bash 中变量的大括号扩展 的相关文章

  • bash 自动完成:添加可能完成的描述

    是否可以使 bash 自动完成功能看起来像 Cisco IOS shell 中一样 我的意思是为每个完成添加简短的描述 如下所示 telnet 10 10 10 TAB Pressed 10 10 10 10 routerA 10 10 1
  • 检查多个变量java中的替换空值

    我试图找到一种简单的方法来在 Java 中的多个变量中执行多个 null 检查 替换 我有一个包含大约 20 个字符串变量的对象 在构造函数中 我想检查是否有任何变量值为空 如果它们为空 我想用空字符串替换它们 我可以执行一系列 if 语句
  • Bash - 在 perl 正则表达式中使用变量以及匹配组

    这是我在 stackoverflow 上的第一篇文章 如果我错过了一些重要的内容 请原谅我 我目前遇到以下问题 目标是根据我准备的文件列表动态替换端口号find 这些文件中的所有端口均以数字 4 开头 有 5 位数字 现在是棘手的部分 我只
  • 如何显示 NUL 分隔数据的中间管道结果?

    如何组合以下两个命令 find print0 grep z pattern tr 0 n find print0 grep z pattern xargs 0 my command 进入单个管道 如果我不需要 NUL 分隔符那么我可以这样做
  • 如何在bash中列出所有后台pid

    要么我无法正确表达我的搜索 要么答案不容易找到 但我正在尝试找出如何列出我的所有后台任务 PID 例如 到目前为止 我发现要列出我们使用的最后一个 PID 但现在我想列出之前任务的 PID 如果存在 但我找不到如何做到这一点 最终我想列出我
  • touch命令在一个目录下创建多个文件(不同名称)

    我想制作一个在 bash 中创建目录和文件结构的脚本 我尝试过这样的事情 mkdir p 1 2 touch 1 2 a b c a b c 应该是在一个命令或其他命令中创建的文件 但由于某种原因 结构是这样的 current folder
  • bash 中的“declare -r”和“readonly”有什么区别?

    在 bash 中 有什么区别declare r and readonly declare r a a1 readonly b b1 我不知道该选择哪个 tl dr readonly使用默认范围global甚至在函数内部 declare使用范
  • 从 TypeScript 运行任何 Linux 终端命令?

    有没有办法直接从 TypeScript 类中执行 Linux 终端命令 这个想法是做类似的事情 let myTerminal new LinuxTerminal let terminalResult myTerminal run sudo
  • 如何显示 zsh 函数定义(如 bash“type myfunc”)?

    如何在 zsh 中显示函数的定义 type foo没有给出定义 在bash中 bash function foo echo hello bash foo hello bash type foo foo is a function foo e
  • Bash 脚本大小限制?

    我有一个 bash 脚本 在 RHEL 或 OS X 上运行时出现以下错误 第 62484 行 意外标记 换行符 附近出现语法错误 第 62484 行 o gz 这是一个自动生成的脚本 用于解决我公司使用的 Grid Engine 计算集群
  • 在 Fish Shell 中设置导出

    我安装了多个版本的 PHP 对于我的正常开发 我总是使用通过自制程序安装的 PHP 5 5 x 在鱼壳里 which php php version gt usr local bin php gt PHP 5 5 8 cli built J
  • 使用 Ansible 将二进制文件添加到 PATH

    我正在尝试安装Kiex https github com taylor kiex版本管理器Elixir http elixir lang org install html使用 Ansible 的编程语言 这些是我为此使用的戏剧 name K
  • 为什么我不能将 sed 的输出重定向到文件

    我正在尝试运行以下命令 someprogram tee dev tty sed s 2 gt output file 但当我去查看时 该文件始终是空白的 如果我删除 gt output file从命令末尾 我可以看到 sed 的输出 没有任
  • 在 Linux 中禁用历史记录 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 要在 Linux 环境中禁用历史记录 我执行了以下命令 export HISTFILESIZE 0 export HISTSIZE 0 u
  • 如何删除最后一次出现模式后的所有行?

    我想删除最后一次出现模式之后的所有行 除了模式本身 file txt honor apple redmi nokia apple samsung lg htc file txt 我想要什么 honor apple redmi nokia a
  • bash 支持字边界正则表达式吗?

    我试图在再次添加该单词之前匹配列表中是否存在该单词 以避免重复 我正在使用 bash 4 2 24 并尝试以下操作 foo bmyword b also foo
  • 不明白为什么当变量为整数时条件评估为 True

    我正在使用表现出以下行为的代码 假设我有一个变量d我把它赋给一个整数9 d 9 为什么以下语句有效 In 95 if d print d else print Did not print d 9 In 96 当 d 本身不是布尔值且未通过以
  • 通过特定分隔符删除字符串

    我的文件中有几列 其中第二列有 分隔符 我想删除第二列中的第一个 第三个和第四个字符串 并将第二个字符串留在该列中 但我有正常的分隔符空间 所以我不知道 input 22 16050075 A G 16050075 A G 22 16050
  • 从 csv 文件中删除特定列,保持输出上的相同结构[重复]

    这个问题在这里已经有答案了 我想删除第 3 列并在输出文件中保留相同的结构 输入文件 12 10 10 10 10 1 12 23 1 45 6 7 11 2 33 45 1 2 1 2 34 5 6 I tried awk F 3 fil
  • 如何在 Linux 中编写文本模式 GUI? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 当我编写脚本 程序时 我经常想弹出一个简单的文本 gui 来提示输入 我该怎么做 例如 来自 Shel

随机推荐

  • 使用 FileHelpers 动态创建 CSV 文件

    FileHelpers 支持一项名为 运行时记录 的功能 当您直到运行时才知道布局时 该功能可让您将 CSV 文件读入数据表中 是否可以使用 FileHelpers 以相同的方式在运行时创建 CSV 文件 根据某些用户输入 必须创建的 CS
  • 结构体指针数组

    我试图了解我的代码是否正确 我需要声明一个指向结构的指针数组 创建一个新结构并分配值并打印它们 在我看来 我没有正确声明指针数组 我需要知道我做错了什么 谢谢 我收到此编译错误 错误 people 未声明 首次在此函数中使用 我尝试插入 s
  • 将小吃栏移动到底部栏上方

    我在新的底栏上遇到了一些问题 我无法强制将小吃栏移动到底部栏上方 这就是设计指南告诉我应该的方式https www google com design spec components bottom navigation html botto
  • 提高由整数商定义的变量的精度

    假设我有以下程序 program derp implicit none integer parameter ikind selected real kind 18 real kind ikind a 2 0 3 0 print a end
  • System.getproperty("spring.profiles.active") 在 JPA 实体监听器中总是获取 Null

    我正在尝试获取 Spring 活动配置文件JPA实体监听器使用System getproperty spring profiles active 但它总是返回空配置文件 但是我已经检查了服务器并且配置文件配置正确 我尝试使用环境获取 Spr
  • 如何更改过去的提交以包含丢失的文件?

    我已提交更改 但忘记将文件添加到更改集中 在其他提交之后 我意识到该文件现在从HEAD 4 commit 如何重写以前的提交以包含丢失的文件 我意识到人们可以谷歌并来这里找到一个更简单的答案 如果这只是最后一次提交怎么办 OP的问题是修复历
  • 如何使用 Spring Boot 和 Cassandra 将枚举持久化为序数?

    我已添加到实体的枚举字段 CassandraType type DataType Name INT 然而 在发送到 Cassandra 的语句中使用的不是枚举的序数 而是字符串表示形式 因此我收到以下错误 org springframewo
  • POI:意外的记录类型 org.apache.poi.hssf.record.HyperlinkRecord

    我正在执行一项简单的任务 读取 Excel 文件并将其转换为对象 不过 我在读取 Excel 文件 xls 时遇到问题 我将从外部系统接收它 也许他们自动生成它 如果我打开它并进行简单的保存 无论是否更改 Excel 文件中的任何内容 我的
  • C++ tbb_debug.dll 丢失

    我是 openCV 的新手 我尝试遵循一些教程 一切工作正常 直到我包含 opencv2 imgproc imgproc hpp 并使用 filter2D 函数 当我启动我的程序时 出现以下错误 程序无法启动 因为您的计算机缺少 tbb d
  • DataContractSerializer 和已知类型

    我正在代码中序列化一个对象 不是通过 WCF 调用 并且我对已知类型有点沉迷 我已将它们与 WCF 一起使用 但没有将 DataContract 序列化器作为 独立 序列化器使用 当我运行下面的代码时出现异常 我希望它运行时不会出现错误 因
  • WebStorm 和 TypeScript:如何导航到包的 JS 源文件?

    假设在我的 TypeScript 项目中 我使用 Express 和如下方法 response send Hello 我想看看如何send 方法被实施 但是 当我在 WebStorm 中按住 Ctrl 键并单击方法名称时 它会将我带到 d
  • 临时文件 asp.net resx 文件,“已添加具有相同密钥的项目”

    几周前 我们将服务器从 NET 4 5 更新到 4 5 1 并将代码更改为作为 优化代码 运行 在即将发布的版本中 我们开始在日志中收到奇怪的错误消息 并且网站刚刚崩溃 System ArgumentException An item wi
  • php数组加载到javascript中

    所以我是个 php javascript 菜鸟 我正在尝试将完整的 php 数组加载到 javascript 数组中 我为 JavaScript 写了这个 var names new Array for var i 0 i lt 48 i
  • Java 中的非空白匹配

    我想检测其中包含非空白字符的字符串 现在我正在尝试 Pattern matches S city 但它似乎不起作用 有没有人有什么建议 我知道我可以修剪字符串并测试它是否等于空字符串 但我宁愿这样做 您认为正则表达式到底匹配什么 Try P
  • ruby - 文件私有方法

    在ruby中 有没有办法定义一个方法 该方法对文件 或模块 中的每个类都可见 但对需要该文件的文件不可见 相关 但不完全相同 我们可以重新定义一个方法 例如标准库的类中的方法 以便此重新定义仅在当前文件中可见吗 所有其他文件应查看原始定义
  • Python:检查对象是否可以原子方式pickle

    检查对象是否可以被原子腌制的准确方法是什么 当我说 原子腌制 时 我的意思是不考虑它可能引用的其他对象 例如 这个列表 l threading Lock 不是一个可腌制的对象 因为它指的是Lock这是不可腌制的 但从原子角度来看 这个列表本
  • 使用 Microsoft bot 框架下载文件(pdf/图像)

    我想下载文档 图像 文档 图像位于互联网上 我给出了它的路径 但它不起作用 但是 如果我只是评论附件部分 我就能从 BOT 那里得到 嗨 让控制器像这样 BotAuthentication public class MessagesCont
  • System.setProperty("sun.net.http.allowRestrictedHeaders", "true") 在詹金斯中不起作用

    我正在尝试在 http 请求标头中发送原始标头 但是当我获取其值时 我得到的是 null 而不是我在原始标头中设置的 url 另外 我还使用以下命令启用了受限标头作为詹金斯作业中请求标头的一部分发送 System setProperty s
  • 底图图层组的传单图层控制

    简而言之 我需要由传单图层控件控制图层组 一次两到三个 在这个JSFiddle http jsfiddle net knu2xs FH9VF 3 当更改底图时 水力叠加层需要始终保持在各种底图之上 如果您运行并使用右上角的图层控件 您会注意
  • Bash 中变量的大括号扩展

    我想在 Bash 中扩展一个变量 这是我的例子 variable 1 2 3 echo variable 预期输出 1 2 3 实际输出 1 2 3 由于 bash 执行命令行扩展的顺序 扩展不起作用 如果您阅读手册页 您会看到顺序是 支撑