Bash for 带有空格的循环

2023-11-25

我想做这样的事情:

COMMANDS='"ls /" "df ~" "du -hs ~/Devel/"'
for i in $COMMANDS; do
    echo $i
done

结果将是:

ls /
df ~
du -hs ~/Devel/

但我找不到空格的正确语法。


COMMANDS=("ls /" "df ~" "du -hs ~/Devel/")
for i in "${COMMANDS[@]}"; do 
  echo "$i"
done

这使用数组来存储命令。此功能也可用于ksh, zsh,但不在sh.

数组的行为类似于"$@"参数数组。应用一个for循环播放"${ARRAY_NAME[@]}"(引号很重要)将连续为您提供每一项。如果您省略引号,则所有内容都会被挤在一起并在您的分隔符上分开IFS环境变量('\t', '\n' and ' '默认情况下)。

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

Bash for 带有空格的循环 的相关文章

随机推荐

  • 如何在 UWP c# 中使用 DataTable 内容填充 DataGrid

    我正在创建一个 UWP 应用程序 并尝试使用包含数据库中数据的 DataTable 填充我的 DataGrid 但没有成功 我已经寻找解决方案 但无法摆脱该错误 XAML 代码
  • 如果 Visual Studio 2010 中属性窗口的描述框被隐藏,如何显示它?

    如果 Visual Studio 2010 中属性窗口的描述框被隐藏 如何显示它 例如 下图显示了描述框 它显示为 加载 每当用户加载表单时发生 我遇到了同样的问题 这是由于描述框长度被拖为零引起的 为了解决这个问题 我必须取消固定属性框并
  • 如何检查是否在 Cygwin、Mac 还是 Linux 中运行?

    我有一个可在 Windows Cygwin 以及 Mac 和 Linux 上使用的 shell 脚本 每个版本需要稍微不同的变量 shell bash 脚本如何检测它是在 Cygwin Mac 还是 Linux 中运行 通常 uname及其
  • 在 Intellij Idea 中找不到符号“var”

    每当我尝试从 Intellij Idea 运行我的应用程序时 我都会收到以下错误 如果我通过 Maven 构建应用程序 它就可以正常工作 看一下我的模块设置 JDK 是 v10 项目和模块的语言也是 v10 知道为什么会发生这种情况吗 我不
  • 如何有效地从字节中读取位?

    我正在开发一个包含 WebSockets 的项目 服务器 Node js 和客户端 Chrome 之间的数据是使用我设置的用于数据交换的自定义 非常简单 格式发送的 我以 3 位为单位发送数据 因为我发送的项目都有 8 种可能性 数据格式如
  • Hibernate - 批量更新从更新返回意外行数:0 实际行数:0 预期:1

    我收到以下休眠错误 我能够识别导致问题的功能 不幸的是 该函数中有多个数据库调用 由于休眠在事务结束时刷新会话 我无法找到导致问题的行 下面提到的休眠错误看起来像是一般错误 它甚至没有提到哪个 Bean 导致了这个问题 有人熟悉这个休眠错误
  • BarSpacing 选项在 Mathematica 中是如何实现的?

    我正在尝试实现一个DateListBarChart函数 获取日期数据并输出与以下位置相同的条形图DateListPlot 如果给定相同的数据 则它们必须在相同的水平位置绘制数据 这样就可以使用组合它们Show 我发现很难获取设置BarSpa
  • 修改twitter bootstrap导航栏

    我一直在尝试修改 Twitter 引导导航栏 目前所有链接都向左对齐 而我真正想要的是让它们居中 在另一篇文章中我读到你使用这个 tabs pills margin 0 auto padding 0 width 100px 但这对我不起作用
  • IRb:如何使用预加载的类启动交互式 ruby​​ 会话

    当我经历采用 Ruby 语言的旅程时 我花了很多时间在 IRb 上 太棒了 但是 由于我不太了解它的功能 并且对 Ruby 仍然是个 傻瓜 所以我想了解以下内容 如何在不重新启动 IRb 的情况下 刷新 会话 或者这是不可能的 如何配置 I
  • 在 C/C++ 源代码中包含 Git 提交哈希和/或分支名称

    我想知道如何将 Git 提交哈希和 或其他信息获取到已编译二进制文件中 C 变量的内容中 而不使其成为 Git 跟踪的源代码的一部分 我需要跟踪在嵌入式处理器上运行的已编译可执行文件中的固件版本信息 在这种封闭环境 即没有文件系统 中 无法
  • 添加登录名并使用 SQL Server 身份验证连接到 SQL

    我想在 SQL Server 2008 中添加一个用户 这样我就可以使用 SQL Server 身份验证而不是 Windows 身份验证来连接到 SQL 并尝试使用以下代码创建一个具有登录名的用户 CREATE login newLog w
  • SQL Server 2008 中唯一的日期范围字段

    我有一个表 其中包含两个名为 StartTime 和 EndTime 的字段 两者都是 TIME 字段 我想添加一个约束 防止插入与预先存在的时间范围重叠的任何记录 例如 如果已存在 StartTime 5 00 EndTime 10 00
  • 如何使用本地phpMyAdmin客户端访问远程服务器?

    假设有一个远程服务器 并且我在我的计算机上本地安装了 phpMyAdmin 客户端 如何通过 phpMyAdmin 客户端访问该服务器并对其进行管理 那可能吗 只需将以下行添加到您的 etc phpmyadmin config inc ph
  • Microsoft.CSharp.Core.targets 丢失

    我正在使用构建工具 2017 在 TFS 2017 Update 3 上构建 Web 服务项目 出现以下错误 C Program Files x86 Microsoft Visual Studio 2017 Enterprise MSBui
  • 如何将依赖项注入动态加载的程序集

    我有一个管理器类 它通过反射加载单独程序集中包含的各种插件模块 该模块用于与外界通信 WebAPI 各种其他网络协议 public class Manager public ILogger Logger Modules need to ac
  • 服务器端仅接受 FileField 中的某种文件类型

    我该如何限制FileField服务器端以一种优雅的方式只接受某种类型的文件 视频 音频 pdf 等 一种非常简单的方法是使用自定义验证器 在您的应用程序中validators py def validate file extension v
  • 通过Android Studio更改应用程序包名称

    我知道这个问题在 SO 中被问过好几次 我已经检查了下面发布的答案 但对我不起作用 解决方案1 解决方案2 目前 我的应用程序的包名称是 com example test 我想把它改成 com example test test1 所以 我
  • 基于内容的水平居中 UICollectionView

    我有一个水平 UICollectionView 工作正常 但我想在不需要滚动时将单元格居中 IE if所有单元格都能够适合视图宽度并且用户不需要滚动then将单元格居中 if所有单元格都无法适合视图宽度并且用户需要滚动then不要将单元格居
  • 语句前的感叹号 (!) 有何作用? [复制]

    这个问题在这里已经有答案了 我试图通过在笔记本中输入以下内容来在 Jupyter 笔记本中安装深色主题 pip install jupyterthemes jt t chesterish 第一个命令有效 但第二个命令出现一些错误 然后我写了
  • Bash for 带有空格的循环

    我想做这样的事情 COMMANDS ls df du hs Devel for i in COMMANDS do echo i done 结果将是 ls df du hs Devel 但我找不到空格的正确语法 COMMANDS ls df