除了第一个,Bash有一个简洁的方法来给出数组中的所有元素:
"${a[@]:1}"
Run Code Online (Sandbox Code Playgroud)
为了得到除了最后一个我发现的所有:
"${a[@]:0:$((${#a[@]}-1))}"
Run Code Online (Sandbox Code Playgroud)
但是,伙计,这是丑陋的.
有优雅的选择吗?
hee*_*ayl 11
我不确定它会有多大的改进,但你可以删除算术运算符($(()))和起始索引(0这里):
${a[@]::${#a[@]}-1}
Run Code Online (Sandbox Code Playgroud)
所以:
$ foo=( 1 2 3 )
$ echo "${foo[@]::${#foo[@]}-1}"
1 2
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,改进纯粹是语法上的; 这个想法仍然是一样的.
| 归档时间: |
|
| 查看次数: |
2682 次 |
| 最近记录: |