尝试在从命令提示符处获取 args 作为数组项的同时对数组进行切片。问题是切片的位置参数不像我预期的那样工作。如何从提示中获取参数切片数组?
./arrays.bash awesome cool strong cute awesome
我想要
arr=$@
echo ${arr[*]:0:2} #awesome cool
Run Code Online (Sandbox Code Playgroud)
我得到
arr=$@
echo ${arr[*]:0:2} # aw
Run Code Online (Sandbox Code Playgroud)
我读了这篇文章:How to slice an array in bash 但我相信我的问题是不同的。似乎这里的困难在于,因为我是从命令提示符获取数组值,或者不是,idk。当数组作为变量包含在脚本中时,它确实按预期运行。这是来自learnyoubash,因此仅调整索引以删除字符而不是整个值,这确实返回正确答案,并不是解决问题的有效方法。我的解决方案不正确但有效的解决方案https://github.com/nodeschool/discussions/issues/2241