for循环中的ZSH列表变量名会导致错误,但可以在BASH中使用

德里克·S

ZSH的新用户在这里编写他的.zshrc文件,该文件使用GNU find和一个for循环在〜/ .aliases中提供外壳程序脚本,以设置我的外壳程序别名。我刚刚在互联网上花了一个多小时,尝试了各种事情,想知道为什么此代码在BASH中有效,但在ZSH中不起作用:

$ for aliases in $(find ~/.aliases -maxdepth 1 -name "*_aliases"); source $aliases

aliases: attempt to set slice of associative array

一个多小时后,我碰巧用另一个变量名重写了该代码:

$ for files in $(find ~/.aliases -maxdepth 1 -name "*_aliases"); source $files

而且有效。

ZSH与BASH如何区别对待此代码,为什么?有什么好处吗?

py

这为我们提供了线索:

别名:尝试设置关联数组的切片

zshaliases使用该参数存储定义的别名。它定义为一个关联数组,您不能在其中存储标量。

使用以下代码显示格式正确的关联数组的内容:

for k in "${(@k)aliases}"; do
  echo "$k -> $aliases[$k]"
done

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

可以在循环中使用相同的变量名吗?

zsh无法使用flock,但可以在bash中使用?

在for eachrow循环中使用变量会导致错误

在循环中使用变量变量名

将值推入数组会导致产生未定义的变量,但可以在函数内部使用

jQuery-在每个循环中使用变量名来命名新变量

散景-从CustomJS中访问轴标签会触发错误,但可以在Python代码中使用

在多个for循环中使用相同的变量名是不好的做法吗?

Python for循环使用相同的变量名迭代会引发错误

列表中元素的顺序会导致for循环中的错误吗?

在循环中使用模数会导致分段错误(核心转储)

在循环中的内联if语句中使用break会导致语法错误

Python在for循环中的列表中使用变量

动态访问for循环中的变量名

循环中增加变量名

R - 循环中的变量名

在for循环中回显变量名

在循环中更改bash变量名称

在for循环中使用隐式参数会导致挂起

在循环中使用 promise 会导致 Promise 失败

是否可以在变量名中使用变量?

IMG目录不能存储在db中,但可以从查询中使用的相同变量中查看

在bash中使用变量值作为变量名

使用循环中的变量在循环中生成函数会导致变量的阴影效应

Dart说Regexp的量词无效,但可以在JavaScript中使用-有错误吗?

Flutter HTTP帖子出现错误,但可以在邮递员中使用

getRelevantGoogleReviews不是wordpress中的函数错误,但可以在Localhost中使用

gcc 4.2.2中的编译错误。但可以在Xcode 6.4中使用

在 R 中使用 dplyr 循环变量名