my_interface_nr=();
for container in $(sudo docker ps -q); do
# show the name of the container
sudo docker inspect --format='{{.Name}}' $container;
# run the command (date in the case)
sudo docker exec -it $container cat /sys/class/net/eth1/iflink;
my_interface_nr+=( "$(sudo docker exec -it $container cat /sys/class/net/eth1/iflink)" );
# my_interface_nr+=( "new" );
done
echo "------------ARRAY TEST -----------------"
echo "${my_interface_nr[@]}"
echo "${my_interface_nr[*]}"
echo "------------INDICES OF ARRAY-----------"
echo "${!my_interface_nr[@]}"
echo "------------SIZE OF ARRAY--------------"
echo "${#my_interface_nr[@]}"
echo "------------ELEMENTS OF ARRAY----------"
echo "${my_interface_nr[0]}"
echo "${my_interface_nr[1]}"
echo "${my_interface_nr[2]}"
echo "${my_interface_nr[3]}"
echo "${my_interface_nr[4]}"
I have code like above. I don't know why 'echo "${my_interface_nr[@]}"' doesn't show me all elements of array. I got result:
/a3
74
/a2
68
/a1
60
------------ARRAY TEST -----------------
60
60
------------INDICES OF ARRAY-----------
0 1 2
------------SIZE OF ARRAY--------------
3
------------ELEMENTS OF ARRAY----------
74
68
60
Wnen delete line 'my_interface_nr+=( "$(sudo docker exec -it $container cat /sys/class/net/eth1/iflink)" );' and instead of uncomment line 'my_interface_nr+=( "new" );' I have expected result.