ksh:获取数组的最后一个元素-找不到命令

时间:2019-05-05 10:36:34

标签: shell ksh

在我的脚本中,其中一个函数返回一个数组值,我想将其最后一个值和“ cd”获取到该目录中

函数名称为“ 文件夹”,该函数返回一个数组,其中包含值- 4.5.0 6.0 2.3.1

如果我使用-cd $(folders[-1]),则遇到以下错误-my_script.sh: line 350: folders[-1]: command not found

使用-cd ${folders[-1]}时,我得到-my_script.sh: line 350: folders: bad array subscript

我在这里想念什么,谢谢

1 个答案:

答案 0 :(得分:2)

${foo[-1]}适用于我的ksh。但是,如果不适合您,也许:

#!/bin/ksh93
foo=(1 2 3)
echo "${foo[-1]}" # Should print 3
echo "${foo[${#foo[@]} - 1]}" # Should also print 3

${#foo[@]}返回数组变量中的元素数量,因此您只需从中减去一个即可得到最后一个元素。