可能係 undocumented 的 bash 擴展

可能係 undocumented 的 bash 擴展

perl 和 ruby 都可用 shift 把數組內第一個元數去掉,其實bash 也可
方法是 ${var[@]:1} , 我在 ast KSH93 手冊看到的, 用在bash 也以
复制内容到剪贴板
代码:
fang@bash ~
$ ruby -e 'x=["A", "B", "C", "D", "E"]; x.shift ; puts x'
B
C
D
E

fang@bash ~
$ perl -e '@x=qw(A B C D E); shift(@x) ;  print @x, "\n"'
BCDE

fang@bash ~
$ x=(A B C D E) ; echo ${x[@]:1}
B C D E

fang@bash ~
$
bash 手冊似乎沒提到,也不知是我漏了眼?       
journalist
man bash

search Parameter Expansion      
${parameter:offset}
${parameter:offset:length}

看漏了這個
If parameter is @, the result is
              length positional parameters beginning at offset.  If parameter is an  array
              name indexed by @ or *, the result is the length members of the array begin-
              ning with ${parameter[offset]}.  A negative offset is taken relative to  one
謝了

:loveliness:

      
journalist