使用引号作为键的 Bash hashmap

2024-01-31

在 Bash 中,我想取消设置哈希映射的条目。但我失败了。代码如下:

declare -A arr
arr["a'b"]=3
echo ${!arr[@]} ## output: a'b
key="a'b"
unset arr[$key] ## error: -bash: unset: `arr[a'b]': not a valid identifier

我如何取消此条目的设置?


只需使用单引号:

$ declare -A arr=(["a'b"]=3 [foo]=bar)
$ declare -p arr
declare -A arr='(["a'\''b"]="3" [foo]="bar" )'
$ key="a'b"
$ unset 'arr[$key]'
$ declare -p arr
declare -A arr='([foo]="bar" )'

Done!

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

使用引号作为键的 Bash hashmap 的相关文章

  • Python:对这个字典进行排序(字典中的字典)

    d a k 1 b whatever b k 2 b sort by k 想要在 python 中按 k 降序对这个字典进行排序 有点棘手 请帮忙 dicts 是无序的 所以没有办法直接对它们进行排序 但如果你是 愿意转换dict进入 键
  • 用于编译和运行 C++ 的 bash 脚本

    我正在尝试进入 C 但必须使用冗长的命令通过命令行运行东西很烦人 所以我想制作一个 bash 脚本来简化过程并运行这些命令 bin bash if 1 start then cd CCPP cd HelloWorld g Wall W We
  • 如何使用 Bash 编写二进制文件?

    我的问题是我需要创建一个包含以下确切字节的文件 48 00 49 00 我不能使用C perl 其他脚本语言 目标是嵌入式设备 我使用 awk 尝试过 在桌面上它确实有效 awk BEGIN printf c c c c 48 00 49
  • 在Python中将字典转换为以键作为对象名称的对象

    我有一本这样的字典 d item1 Hi 150 495 item2 Hola 590 40 我想将其转换为对象 如果可能的话递归地 我有一堂课 class Item def init self thetuple self greeting
  • 查找字典中列表的最大值

    我有一个字典 每个键后面都有一个存储的列表 看起来像这样 dict with values u New York u New York u NY datetime datetime 2014 8 13 0 0 10 u New York u
  • 使用 libusb 输出不正确

    我用libusb编写了一个程序 我怀疑输出是否正确 因为所有条目都显示相同的供应商和产品 ID 以下是代码 include
  • /sys/device/ 和 dmidecode 报告的不同 CPU 缓存大小

    我正在尝试获取系统中不同缓存级别的大小 我尝试了两种技术 a 使用 sys device 中的信息 这是输出 cat sys devices system cpu cpu0 cache index1 size 32K cat sys dev
  • LINUX:如何锁定内存中进程的页面

    我有一个 LINUX 服务器 运行一个具有大量内存占用的进程 某种数据库引擎 该进程分配的内存太大 需要将其中一部分换出 换出 我想做的是将所有其他进程 或正在运行的进程的子集 的内存页面锁定在内存中 以便只有数据库进程的页面被换出 例如
  • 嵌入清单文件以要求具有 mingw32 的管理员执行级别

    我正在 ubuntu 下使用 i586 mingw32msvc 交叉编译应用程序 我很难理解如何嵌入清单文件以要求 mingw32 具有管理员执行级别 对于我的例子 我使用了这个hello c int main return 0 这个资源文
  • 将 JSON 导出到环境变量

    如果我有这样的 JSON hello1 world1 testk testv 我想将每个键值对导出为环境变量 如何通过 shell 脚本来做到这一点 例如 当我在终端上写时 echo hello1 world1应该打印其他键值对吗 注意 上
  • 为什么 fork 炸弹没有使 android 崩溃?

    这是最简单的叉子炸弹 我在许多 Linux 发行版上执行了它 但它们都崩溃了 但是当我在 android 终端中执行此操作时 即使授予后也没有效果超级用户权限 有什么解释为什么它没有使 Android 系统崩溃吗 一句话 ulimit Li
  • 当我尝试在 .bashrc 中添加命令时出现命令未找到消息

    我问了一个问题如何在 bash shell 中编写漂亮优雅的 linux 命令 https stackoverflow com q 19720095 80353 当我尝试该建议时 我收到以下错误消息 Sorry command not fo
  • 如何在不使用 IDE 的情况下在 Linux 上运行 Java 项目

    我是 Java 新手 基本上 我开发了一个java项目 其中包含Eclipse中的多个Java包 该项目在我安装了 redhat Linux 的桌面上运行正常 然而 我需要在一个更强大的没有安装X11的Linux服务器 redhat ent
  • 如何才能将 TCP 连接返回到同一端口?

    机器是 RHEL 5 3 内核 2 6 18 有时我在 netstat 中注意到我的应用程序有连接 建立了 TCP 连接本地地址 and 国外地址是一样的 其他人也报告了同样的问题 症状与链接中描述的相同 客户端连接到本地运行的服务器的端口
  • 在 bash 中添加(收集)退出代码

    我需要依赖于脚本中的几个单独的执行 并且不想将它们全部捆绑在一个丑陋的 if 语句中 我想使用退出代码 每次执行并添加它 最后 如果这个值超过阈值 我想执行一个命令 伪代码 ALLOWEDERROR 5 run something RESU
  • 在内核代码中查找函数的最佳方法[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我开始浏览内核代码 遇到的一件事是如何跟踪函数调用 结构定义等 有没有一种好的方法可以快速跳转到函数定义并退出 我尝试过 Source N
  • 为什么 Linux 原始套接字的 RX 环大小限制为 4GB?

    背景 我试图mmap 我的原始套接字的 RX 环形缓冲区64 bitLinux 应用程序 我的环由 4096 个块组成 每个块大小为 1MB 总共 4GB 请注意 每个 1MB 块中可以有许多帧 如果您好奇 请参阅此文档了解背景信息 htt
  • 执行命令而不将其保留在历史记录中[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 在进行软件开发时 经常需要在命令行命令中包含机密信息 典型示例是将项目部署到服务器的凭据设置为环境变量 当我不想将某些命令存储在命令历史记
  • bash 子 shell 中出现陷阱“kill 0”的分段错误

    我正在尝试编写一个并行构建多个 Dockerfile 的小脚本 但是如果我想取消该脚本 我也想杀死子进程 这样做的结果是segmentation fault 不知道为什么 为了澄清我正在杀死脚本 C trap kill 0 SIGINT S
  • 有没有一种快速方法可以从 Jar/war 中删除文件,而无需提取 jar 并重新创建它?

    所以我需要从 jar war 文件中删除一个文件 我希望有类似 jar d myjar jar file I donot need txt 的内容 但现在我能看到从 Linux 命令行执行此操作的唯一方法 不使用 WinRAR Winzip

随机推荐

  • 我可以在 Visual Studio 中的代码块注释中添加链接吗?

    我可以在 Visual Studio 中的代码块注释中添加链接吗 例如 block 1 class class1 block 2 class class2 review class1 1 类 是 1 类的链接 提前致谢 You can bo
  • 如何知道我的代码在 IDE 中以“调试”模式运行?

    如何编写在 调试 模式下 例如在 Eclipse 中作为 调试为 Java 应用程序 调用 与在 运行 模式下 例如在 Eclipse 中作为 作为 Java 应用程序运行 调用 下运行时行为不同的代码 也就是说 例如 代码可以在 作为 J
  • React 路由器中的动态路径

    我正在尝试将我的网站从传统的网络应用程序方法迁移到基于反应的应用程序 在此过程中 我遇到了与网址相关的问题 在我的网站中 在服务器端我使用网址重写将 url 映射到正确的控制器的功能 但我无法弄清楚如何在反应路由器中处理这个事情 我当前的反
  • 在 ubuntu 上编译 C 代码时遇到问题。 (#包括错误)

    我正在尝试在最新版本的ubuntu上编译C程序 以便稍后将编译后的程序放在另一台机器上 但是 当我使用 gcc prog c o prog 编译时 出现错误 致命错误 asm page h 没有这样的文件或目录 以下是标题 include
  • 隐藏微调器中的第一个项目

    我在微调器上工作 微调器中有 5 个项目 我只想隐藏微调器中的第一个项目 不是删除 只是隐藏 问题是 当我单击微调器时 没有选择 api 获取的项目通过使用第一个 item id 我刚刚在微调器的第一个位置 0 处添加了空白字段 它工作正常
  • 如何在 PHP 中将“一周的第一天”设置为星期四

    我想将一周的第一天设置为星期四 而不是星期日或星期一 因为这是公司的截止日期 我已经有一个代码来确定日期的当前周数 但它从星期日或星期一开始 如何根据我的喜好修改这些 function findweek date monthstart da
  • 使用 Jasmine 监视可观察订阅的结果

    我正在 Jasmine 单元测试一个使用 Observables 的角度组件 我的组件有我正在测试的生命周期挂钩 ngOnInit this dataService getCellOEE this cell subscribe value
  • 如何在 Jest 单元测试中查看渲染的 React 组件是什么样子?

    我正在尝试对 React 组件进行测试 我需要检查渲染后的样子 尝试使用ReactDOMServer renderToString 但它失败了 这是代码 import NewRec from src components edit impo
  • sqlSave 错误

    我正在与sqlSave添加我的矩阵B看起来像这样 Noinscr 88877799 45645687 23523521 45454545 到 SQL 表 所以我运行以下命令 sqlSave channel b testsFelix dbo
  • C++ Windows 异步 IO 命名管道未收到第一条消息

    修改后的代码来自 使用重叠 I O 的命名管道服务器https msdn microsoft com en us library windows desktop aa365603 v vs 85 aspx https msdn micros
  • Swift 3:使用 NSCoder 解码值的安全方法?

    在 Swift 3 之前 您可以使用 NSCoder 解码布尔值 如下所示 if let value aDecoder decodeObjectForKey TestKey as Bool test value Swift 3 中建议的方法
  • 多个定义和仅标头库

    我有一个带有几个 c 和 h 文件的 C 程序 我决定将程序的一部分设为 仅标头 因此我将代码从 c 移至 h 现在我遇到了多重定义问题 但我不知道为什么 例如 main c includes utils h vector c includ
  • iOS 13 中的 viewDidAppear 问题

    我刚刚开始使用 iOS 13 进行编码 并且遇到了视图控制器功能的问题 在 iOS 13 之前 我有一个使用此函数呈现的视图控制器 func presentDetail viewControllerToPresent UIViewContr
  • 为什么magento不自动加载父类

    我有一个模块 它将使用我的控制器而不是magento的控制器
  • 日期/时间点/间隔的(关系)数据库性能

    我正在使用 Access SQL 做一个项目 并且进展顺利 我学到了很多关于 Access 和 VBA 的知识 这个网站在这个过程中给了我很大的帮助 现在我面临着一个性能问题 由于我在这种 SQL 工作方面经验很少 所以我来这里是为了一些想
  • 奇怪的乘法结果

    在我的代码中 我在 C 代码中进行了乘法运算 所有变量类型均为 double f1 0 f1 rot 0 xu 0 f1 rot 1 yu 0 f1 1 f1 rot 0 xu 1 f1 rot 1 yu 1 f1 2 f1 rot 0 x
  • C# 表单激活和停用事件

    我有两个表单 主表单和子表单 当 mainForm 失去焦点时 我希望 subForm 消失 然后在 mainForm 重新获得焦点时重新出现 我在 mainForm 上使用 Activated 和 Deactivate 事件来跟踪 mai
  • h2内存表,远程连接

    我在创建内存表 使用 H2 数据库以及在创建和运行该表的 JVM 之外访问它时遇到问题 该文档将 url 构造为jdbc h2 tcp
  • 子模块中的 RouteReuseStrategy

    这是我的延迟加载子模块 NgModule imports CommonModule RouterModule forChild acnpRoutes declarations providers provide RouteReuseStra
  • 使用引号作为键的 Bash hashmap

    在 Bash 中 我想取消设置哈希映射的条目 但我失败了 代码如下 declare A arr arr a b 3 echo arr output a b key a b unset arr key error bash unset arr