doesn't seem to work line="abcd" echo -n ${${(As: :)line}[1]} a Pier Paolo Grassi linkedin: https://www.linkedin.com/in/pier-paolo-grassi-19300217 founder: https://www.meetup.com/it-IT/Machine-Learning-TO Il giorno mer 22 apr 2020 alle ore 18:47 Mikael Magnusson ha scritto: > On 4/22/20, Pier Paolo Grassi wrote: > > I am trying to use field splitting to get the first word of a line. I am > > using: > > > > echo -n ${${(s: :)line}[1]} > > when input contains spaces I get the first word as needed, eg: > > line is: /usr/bin/python - /usr/bin/python /usr/local/bin/terminator > > what is printed: /usr/bin/python > > > > when input does not contains spaces, however, all I get is the first > > character of the line, eg: > > line is: /usr/bin/zsh > > what is printed: / > > > > I have trid forcing the array expansion in various ways: > > ${${(@s: :)line}[1]} > > ${${(s: :)line[@]}[1]} > > ${"${(s: :)line[@]}"[1]} > > > > but I couldn't get the desidered behaviour > > what am I missing? > > echo -n ${${(As: :)line}[1]} > > -- > Mikael Magnusson >