bash 和 zsh 中的便携式数组索引

汤姆·黑尔

数组索引是0-based inbash1-based in zsh(除非KSH_ARRAYS设置了选项)。

例如:要访问数组的第一个元素,是否有比以下更好的方法:

if [ -n $BASH_VERSION ]; then
    echo ${array[0]}
else
    echo ${array[1]}
fi
汤姆·黑尔

特尔;博士:

要始终获得一致的行为,请使用:

${array[@]:offset:length}

解释

对于同时适用于bash和 的代码zsh,您需要使用offset:length语法而不是[subscript]语法。

即使对于zsh-only 代码,您仍然需要执行此操作(或使用emulate -LR zsh),因为zsh的数组下标基础由选项KSH_ARRAYS确定

例如,要引用数组中的第一个元素:

${array[@]:0:1}

这里,array[@]是所有元素,0是偏移量(总是从 0 开始),1是所需元素的数量。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何创建bash和zsh(便携式)函数来检查一个路径是否是另一个路径的子路径?

来自分类Dev

zsh中的别名和bash中的别名之间的区别

来自分类Dev

bash中的<()和zsh中的=()到底是什么?

来自分类Dev

find命令在zsh和bash中的工作方式不同

来自分类Dev

bash与zsh中的重定向和管道行为

来自分类Dev

find命令在zsh和bash中的工作方式不同

来自分类Dev

在bash和zsh中推送,popd与cd,cd-

来自分类Dev

bash和zsh中&& vs&的优先级

来自分类Dev

在zsh和Bash中循环遍历字符串

来自分类Dev

为什么`==`在zsh和bash中的[[...]`内部表现不同?

来自分类Dev

$(...)在zsh和bash函数中的不同行为

来自分类Dev

获取别名的扩展名(在bash和zsh中)

来自分类Dev

从stdin读取在bash和zsh中的工作方式不同

来自分类Dev

Bash Shell:如何协调便携式配置文件和GUI终端启动类型(登录或交互式)?

来自分类Dev

zsh中的数组和循环

来自分类Dev

zsh中的数组和循环

来自分类Dev

iterm2使用bash和zsh

来自分类Dev

bash和zsh中的两次和三次替换

来自分类Dev

替代bash在zsh中完成?

来自分类Dev

使zsh中的Ctrl + W和Ctrl + Alt + H与bash中的行为相同

来自分类Dev

如何在命令行(bash和zsh)中向后删除单词?

来自分类Dev

默认测试表达式在zsh和bash中的行为不同-为什么?

来自分类Dev

在zsh和bash之间共享别名和PATH设置

来自分类Dev

bash和zsh之间的单词前后定界符差异

来自分类Dev

在Zsh和Bash之间共享或同步历史记录

来自分类Dev

zsh zle和bash readline的通用键盘快捷键

来自分类Dev

zsh和bash之间的I / O重定向差异

来自分类Dev

zsh和mksh在哪里与bash不兼容?

来自分类Dev

测试功能是否可以在bash和zsh上使用?

Related 相关文章

热门标签

归档