POSIX SH 构建循环变量,其元素包含空格

2024-05-14

这是我需要的代码:

#!/bin/sh

x1="a1 a2"
x2="b1 b2"

list=SOMETHING

for x in "$list"
do
    echo $x
done

以及我想要的输出:

a1 a2
b1 b2

问题是:应该做什么SOMETHING是?我想$list表现得像$@ does.

备注:我无法使用$IFS我不能eval整个循环。


这可能是您能得到的最接近的结果:

#!/bin/sh
x1="a1 a2"
x2="b1 b2"

set -- "$x1" "$x2"

for x in "$@"
do
    # echo $x
    echo "[${x}]"    # proves that the lines are being printed separately
done

Output:

[a1 a2]
[b1 b2]

在 Bash 中你可以使用数组:

#!/bin/bash
x1="a1 a2"
x2="b1 b2"

list=("$x1" "$x2")

for x in "${list[@]}"
do
    # echo $x
    echo "[${x}]"    # proves that the lines are being printed separately
done

相同的输出。

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

POSIX SH 构建循环变量,其元素包含空格 的相关文章

  • 任何退出 bash 脚本但不退出终端的方法

    当我使用exitshell 脚本中的命令 该脚本将终止终端 提示符 有什么方法可以终止脚本然后停留在终端中吗 我的剧本run sh预计通过直接获取或从另一个脚本获取来执行 编辑 更具体地说 有两个脚本run2 sh as run sh ec
  • 在 Bash 中获取 Mac OS X 上正在运行的应用程序列表? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 是否可以使用 Bash 获取正在运行的应用程序列表 我不是在谈论进程 而是在 Dock 中的应用程序 以及菜单栏中的应用程序也很好 osascript
  • shell脚本中的“##”是什么意思? [复制]

    这个问题在这里已经有答案了 在编写脚本时 我遇到了这个命令 f file 我很想知道 什么是 这行是什么意思 In bash 它删除了前缀模式 在这里 它基本上为您提供了最后一个路径分隔符之后的所有内容 通过贪婪地删除前缀 后面跟随任意数量
  • 大括号语法 ${var%.*} 是什么意思?

    我正在查看一些旧代码并遇到了以下语法 extractDir downloadFileName tmp 我发现搜索的唯一信息是指命令列表 但这只是一个变量 这个大括号语法在 bash 中意味着什么 在这种背景下 它是一个参数替换 http w
  • 如何比较两个文件中的多列并在找​​到匹配时从另一列检索相应的值

    我有两个文件 File1 txt 和 File2 txt 我需要将 File1 中的三列 1 2 和 3 分别与 File2 的 4 5 和 6 进行比较 如果找到匹配项 我想从 File2 的第 2 列中检索相应的值并将其粘贴到输出中 T
  • 如何使用 Bash 编写二进制文件?

    我的问题是我需要创建一个包含以下确切字节的文件 48 00 49 00 我不能使用C perl 其他脚本语言 目标是嵌入式设备 我使用 awk 尝试过 在桌面上它确实有效 awk BEGIN printf c c c c 48 00 49
  • 正则表达式删除块注释也删除 * 选择器

    我正在尝试使用 bash 从 css 文件中删除所有块注释 我有以下 sed 命令的正则表达式 sed r s w s w d 这可以很好地去除块注释 例如 This is a comment this is another comment
  • 检查 bash 中是否存在关联数组元素

    在 bash 脚本中 我在变量中有一个区域设置 如下所示 locale fr ma 我也有一个像这样的关联数组 declare A new loc map new loc fr ma en ma new loc el gr en gr ne
  • Bash 中所有匹配的^单词^替换^?

    为了澄清 我正在寻找一种方法来执行global搜索并替换先前使用的命令 word replacement 似乎只替换了第一场比赛 有没有一些set我无法选择的选项 尝试这个 echo oneone oneone gs one two Rep
  • awk 在循环中使用时不打印任何内容[重复]

    这个问题在这里已经有答案了 我有一堆使用 file 1 a 1 txt 格式的文件 如下所示 A 1 B 2 C 3 D 4 并使用以下命令添加包含每个文件名称的新列 awk print FILENAME NF t 0 file 1 a 1
  • Bash:递归复制命名文件,保留文件夹结构

    我希望 cp R src prog js images icon jpg tmp package 将在目标目录中产生对称结构 tmp package src prog js images icon jpg 但相反 这两个文件都被复制到 tm
  • bash 子 shell 中出现陷阱“kill 0”的分段错误

    我正在尝试编写一个并行构建多个 Dockerfile 的小脚本 但是如果我想取消该脚本 我也想杀死子进程 这样做的结果是segmentation fault 不知道为什么 为了澄清我正在杀死脚本 C trap kill 0 SIGINT S
  • 如何从shell脚本自动登录MySQL?

    我有一个 MySQL 服务器 其中有一个用户和密码 我想在 shell 脚本中执行一些 SQL 查询而不指定密码 如下所示 config sh MYSQL ROOT root MYSQL PASS password mysql sh sou
  • 在 Bash 中替换垂直线

    我很难完成我的脚本 因为这一部分没有按照我想要的方式运行 我的脚本中有这一行 cat home tmp temp1 txt awk gsub RS gsub RS print gt home tmp temp txt 效果很好 是的 但是当
  • 使用 shell 脚本将行附加到 /etc/hosts 文件

    我有一个新的 Ubuntu 12 04 VPS 我正在尝试编写一个安装脚本来完成整个 LAMP 安装 我遇到问题的地方是在 etc hosts文件 我当前的主机文件如下所示 127 0 0 1 localhost Venus The fol
  • 使用 python 脚本更改 shell 中的工作目录

    我想实现一个用户态命令 它将采用其参数之一 路径 并将目录更改为该目录 程序完成后 我希望 shell 位于该目录中 所以我想实施cd命令 但需要外部程序 可以在 python 脚本中完成还是我必须编写 bash 包装器 Example t
  • 如何在 *nix 中登录时运行脚本?

    我知道我曾经知道如何做到这一点 但是 如何在 unix 中登录时运行脚本 bash 可以 From 维基百科 Bash http en wikipedia org wiki Bash 28Unix shell 29 当 Bash 启动时 它
  • 正则表达式匹配bash变量

    我正在尝试修改 bash 脚本 当前脚本包含 print div class 1 div Where 1可能看起来像 Apprentice Historian Level 1 Historian Level 4 Master Histori
  • 在 macOS 上使用 find 时出现“非法选项”错误

    我试图列出末尾仅带有字母 R 的文件 我用了find在 macOS 终端中如下所示 find type f name R 但我收到消息说illegal option t 第一个参数find是它应该开始寻找的路径 路径 表示当前目录 find
  • Bash 中单行 while 循环的语法

    我无法找到分号和 或大括号的正确组合 我想这样做 但作为命令行中的一句 while 1 do foo sleep 2 done while true do foo sleep 2 done 顺便说一句 如果您在命令提示符下将其输入为多行 如

随机推荐

  • 如何定制Maven唯一版本字符串?

    我想知道有哪些选项可以自定义 Maven 工件部署时使用的时间戳字符串
  • 方法返回类型前的 是什么意思?

    下面的方法返回一个List组成T类型元素 public
  • 为什么字符串和对象的别名是小写的?

    以下是 C 中的别名列表 赞美C 中的 String 和 string 有什么区别 https stackoverflow com questions 7074 whats the difference between string and
  • 如何以编程方式将 SMTP 服务器详细信息存储(保存)回 web.config

    搜索 StackOverflow 我发现这个问题是关于如何从 Web Config 检索 SMTP 设置 https stackoverflow com questions 2019175 how to programmatically r
  • StreamReader 消耗的字节数

    有没有办法知道 StreamReader 使用了流的多少字节 我有一个项目 我们需要读取一个文件 该文件具有文本标题 后跟二进制数据的开头 我最初尝试读取该文件是这样的 private int dataOffset void ReadHea
  • grid.arrange 中的错误 -rangeGrob() 函数

    我有两个图 p1 和 p2 我试图使用 grid arrage 绘制它们 我的代码如下所示 grid arrange p1 p2 ncol 2 top textGrob Distribution across each day of the
  • 如何干净地处理全局变量?

    我有许多 aspx 页面 50 我需要在每个页面中声明一些 5 7 全局变量 一个页面中的变量独立于其他页面 即使有些变量可能相同 目前我在页面顶部和任何函数之外声明 我应该采取不同的方法吗 这种方法有副作用吗 如果完全重复 请告诉我 谢谢
  • Material UI 组件中的媒体查询

    我在 React js 项目中使用 Material UI 组件 出于某种原因 我需要对某些组件进行自定义 以使其根据屏幕宽度进行响应 我已经添加了media query并将其作为组件中的样式属性传递 但不起作用 知道吗 我正在使用这样的代
  • 给定一组类,调用具有匹配方法参数的类

    我有两个或多个从单亲继承的类 他们都已经超载了handle方法 但每个类的句柄方法都有不同的参数 class CommandHandler class FooCommandHandler public CommandHandler publ
  • 无法让 Cordova 文本转语音插件工作

    我正在尝试各种 TTS 插件 包括位于https github com vilic cordova plugin tts https github com vilic cordova plugin tts 但无法让任何工作 例如 根据文档
  • 有人可以解释以下异或属性

    我的一个论坛提到给定的数组n数字 arr 0 n 1 以下条件成立 is the xor运算符 f l r f 0 r f 0 l 1 where f l r arr l arr l 1 arr r 我检查了上面的数组数量和不同的值l an
  • 如何封装.NET无状态状态机

    我有一个项目 其中大部分是线性工作流程 我正在尝试使用 NET Statelesslibrary https github com dotnet state machine stateless充当工作流引擎 状态机 示例的数量有限 但我整理
  • 如何在我的 html 中使用 Flaticon 中的图标?

    我想给我的网站一些图标 现在我看到很多人使用Flaticon这个网站 我所做的就是在 CSS 中添加这样的内容 Font 1 font face font family Flaticon1 src url flaticon1 eot src
  • 以下两个 lambda 函数的空间复杂度

    我正在阅读以下内容 https en wikibooks org wiki Haskell Graph reduction https en wikibooks org wiki Haskell Graph reduction 其内容如下
  • 我如何移动粘性/捕捉 wpf 窗口

    当我移动 主 窗口时 我想移动两个或更多粘性窗口 我想做这样的事情 private void MainWindow PreviewMouseMove object sender MouseEventArgs e if e LeftButto
  • 将 Python 输入字符串限制为特定字符和长度

    我刚刚开始学习我的第一种真正的编程语言 Python 我想知道如何限制用户输入raw input特定字符和特定长度 例如 如果用户输入包含除字母之外的任何内容的字符串 我想显示一条错误消息a z 我想显示超过 15 个字符的用户输入之一 第
  • 在 WordPress 中使用自定义字段进行搜索

    我正忙于使用 WordPress 开发 Web 应用程序 我创建了一个带有一些自定义字段的自定义帖子 当我使用 WordPress 搜索框搜索帖子时 仅返回标题与搜索字符串匹配的帖子 我想在搜索域中添加自定义字段 我可以在 WordPres
  • 预乘 Alpha 合成

    我正在尝试实现预乘阿尔法混合 在本页 什么是颜色混合 https learn microsoft com en us previous versions windows xna bb976070 v xnagamestudio 41 它们确
  • 在读取正文之前拒绝 HTTP 请求

    我正在开发一个网站 用户需要上传一些非常大的文件 该网站是用 PHP 编写的 在某些情况下 我想根据标头拒绝文件 理想情况下 我想在收到标头后立即拒绝请求 而不读取正文 如果标头足以表明该文件应被拒绝 则没有理由读取 200M 的文件 此外
  • POSIX SH 构建循环变量,其元素包含空格

    这是我需要的代码 bin sh x1 a1 a2 x2 b1 b2 list SOMETHING for x in list do echo x done 以及我想要的输出 a1 a2 b1 b2 问题是 应该做什么SOMETHING是 我