#гурубаша хелп есть скриптец #!/bin/bash mapfile -t my_array < <( echo "1 34545"; echo "2 45654") declare -p my_array echo "Length is ${!my_array[@]}" for index in ${!my_array[@]} do s="${my_array[$index]}" echo $s did=${s# *} pid=${s% *} printf "ID %s has PID %s\n" $did $pid done почему в выводе дважды declare -a my_array=([0]="1 34545" [1]="2 45654") Length is 0 1 1 34545 ID 1 has PID 34545 ID 1 has PID 2 45654 ID 2 has PID 45654 ID 2 has PID