On Jan 18, 2026, at 09:59, Mikael Magnusson <mikachu@xxxxxxxxx> wrote:
On Sun, Jan 18, 2026 at 4:39 PM Perry Smith <pedz@xxxxxxxxxxxxxxxx> wrote:
#!/bin/zsh
echo $ZSH_PATCHLEVEL echo $ZSH_VERSION A=( this is an arry of words ) echo "${#A}" unset "A[-1]" echo "${#A}"
Result:
zsh-5.9-0-g73d3173 5.9 6 6
I would expect the last echo to be only 5 instead of 6.
I’m writing a script. I can easily cope with this but I thought I would mention it.
Unsetting a scalar sets it to the empty string, you probably rather wantA[-1]=()
Thank you! That works but from the manual I see:
To delete an element of an ordinary array, assign `()' to that element. To delete an element of an associative array, use the unset command:
unset "name[exp]"
Thank you for your time pedz
|