Store top element of array in variable, but do not remove it
USAGE: peek arrayname var:peek
peek() { local arrayname=${1:?Array name required} val varname=${2:-peek} eval "[ ${#arrayname[@]} -gt 0 ] || return 1" eval "val=\${${arrayname}[0]}" printf -v "$varname" "%s" "$val" }