如何在zsh中将关联数组分配给另一个变量?

威特英治

在zsh中,是否有一种方法可以将关联数组分配给另一个变量?我想要这样的事情:

typeset -A orig
orig=(key1 val1 key2 val2)
typeset -A other
other=$orig
print '$orig:  '$orig
print '$other: '$other
print '$orig[key1]: '$orig[key1]
print '$other[key1]: '$other[key1]

这将打印:

$orig:  val1 val2
$other: val1 val2
$orig[key1]: val1
$other[key1]: 

我希望能够使用$other[key1]和获取val1

我知道我可以遍历键并逐项复制它,但是我真的想避免这种情况。另外,eval是邪恶的:)

我已经尝试了other=($orig)其他变体,但这将获取我的值orig并像这样创建关联数组

other=(val1 val2)

因此other[key1]什么也不会返回并other[val1]返回val2,这不是我想要的。

如果我理解正确的,什么是我的每一次尝试事情是$other越来越的数组$orig,不需钥匙。如何使它同时接收键值并在它们之间具有正确的关联?

我不担心null值,即使那会是一个问题,因为我相信它$orig会表现良好。

谢谢!

切普纳

您必须深入研究参数扩展标志的奇妙世界:)kv标志可以一起使用,以强制关联数组扩展为其键和值。

$ typeset -A orig
$ orig=(key1 val1 key2 val2)
$ print ${(kv)orig}
key1 val1 key2 val2

然后,您可以使用set命令用该扩展产生的交替键/值填充副本。

$ typeset -A other
$ set -A other ${(kv)orig}
$ print $other[key1]
val1

这些和其他标志记录在man zshexpn“参数扩展标志”下,这是我最喜欢的zsh功能之一。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在合并方法中将一个数组分配给另一个数组

来自分类Dev

如何在shell脚本中将一个变量值分配给另一个变量

来自分类Dev

如何在PHP中将一个数组值分配给另一个数组

来自分类Dev

如何在jQuery中将数组分配给变量

来自分类Dev

如何在Sitecore中将模板动态分配给另一个模板?

来自分类Dev

如何在hadoop中将CompositeKey复制/分配给另一个CompositeKey?

来自分类Dev

在Bash中将一个变量分配给另一个变量?

来自分类Dev

如何将从另一个文件收到的数组分配给另一个数组?

来自分类Dev

ruby将数组分配给另一个变量,并且从该分配变量中删除元素时,也会在原始数组上删除该元素

来自分类Dev

在堆C ++上将一个数组分配给另一个数组

来自分类Dev

使用指针将一个数组分配给另一个数组

来自分类Dev

如何将与范围列表关联的变量分配给具有整数的另一个表

来自分类Dev

在TCL中将变量的值分配给另一个变量

来自分类Dev

将非空数组分配给另一个数组会清除该数组吗?

来自分类Dev

如何在vba中将数组的一部分分配给另一个较短的数组?

来自分类Dev

在C ++中将数组的值分配给另一个数组的索引

来自分类Dev

在 MATLAB 中将数组中的值分配给另一个数组

来自分类Dev

C#:将数组分配给另一个数组:复制还是指针交换?

来自分类Dev

为什么将切片的numpy数组分配给另一个变量会继续对其进行切片?

来自分类常见问题

在Python中将一个变量的值分配给另一个变量时会发生什么?

来自分类Dev

将另一个网页的特定数据分配给变量或数组

来自分类Dev

如何将公式的值(包含变量)分配给另一个变量

来自分类Dev

如何在Ansible-Playbook中将数组分配给变量

来自分类Dev

如何动态地将值从关联数组分配给属性

来自分类Dev

如何动态地将值从关联数组分配给属性

来自分类Dev

如何选择CSS变量并将样式值分配给另一个元素

来自分类Dev

如何将变量列表分配给另一个列表

来自分类Dev

如何将我的选择选项分配给另一个变量

来自分类Dev

使用 char 将一个 char 数组分配给另一个 char 数组时的奇怪行为

Related 相关文章

  1. 1

    在合并方法中将一个数组分配给另一个数组

  2. 2

    如何在shell脚本中将一个变量值分配给另一个变量

  3. 3

    如何在PHP中将一个数组值分配给另一个数组

  4. 4

    如何在jQuery中将数组分配给变量

  5. 5

    如何在Sitecore中将模板动态分配给另一个模板?

  6. 6

    如何在hadoop中将CompositeKey复制/分配给另一个CompositeKey?

  7. 7

    在Bash中将一个变量分配给另一个变量?

  8. 8

    如何将从另一个文件收到的数组分配给另一个数组?

  9. 9

    ruby将数组分配给另一个变量,并且从该分配变量中删除元素时,也会在原始数组上删除该元素

  10. 10

    在堆C ++上将一个数组分配给另一个数组

  11. 11

    使用指针将一个数组分配给另一个数组

  12. 12

    如何将与范围列表关联的变量分配给具有整数的另一个表

  13. 13

    在TCL中将变量的值分配给另一个变量

  14. 14

    将非空数组分配给另一个数组会清除该数组吗?

  15. 15

    如何在vba中将数组的一部分分配给另一个较短的数组?

  16. 16

    在C ++中将数组的值分配给另一个数组的索引

  17. 17

    在 MATLAB 中将数组中的值分配给另一个数组

  18. 18

    C#:将数组分配给另一个数组:复制还是指针交换?

  19. 19

    为什么将切片的numpy数组分配给另一个变量会继续对其进行切片?

  20. 20

    在Python中将一个变量的值分配给另一个变量时会发生什么?

  21. 21

    将另一个网页的特定数据分配给变量或数组

  22. 22

    如何将公式的值(包含变量)分配给另一个变量

  23. 23

    如何在Ansible-Playbook中将数组分配给变量

  24. 24

    如何动态地将值从关联数组分配给属性

  25. 25

    如何动态地将值从关联数组分配给属性

  26. 26

    如何选择CSS变量并将样式值分配给另一个元素

  27. 27

    如何将变量列表分配给另一个列表

  28. 28

    如何将我的选择选项分配给另一个变量

  29. 29

    使用 char 将一个 char 数组分配给另一个 char 数组时的奇怪行为

热门标签

归档