24 lines
382 B
Bash
24 lines
382 B
Bash
# pop ARRAY -- pop the last item on ARRAY and output it
|
|
|
|
pop() {
|
|
local var=${1:?'Missing array name'}
|
|
local x ; eval "x=\${#$var[*]}"
|
|
if [[ $x > 0 ]]; then
|
|
local val ; eval "val=\"\${$var[$((--x))]}\""
|
|
unset $var[$x]
|
|
else
|
|
echo 1>&2 "No items in $var" ; exit 1
|
|
fi
|
|
echo "$val"
|
|
}
|
|
|
|
alist=(a b c)
|
|
pop alist
|
|
a
|
|
pop alist
|
|
b
|
|
pop alist
|
|
c
|
|
pop alist
|
|
No items in alist
|