我想使用循环设置数组元素:
for i in 0 1 2 3 4 5 6 7 8 9
do
array[$i] = 'sg'
done
echo $array[0]
echo $array[1]
所以它不起作用。 如何解决?
去除空格:
array[$i]='sg'
echo ${array[0]}
declare -a array
for i in 0 1 2 3 4 5 6 7 8 9
do
array[$i]="sg"
done
echo ${array[0]}
echo ${array[1]}
点击此处查看实际效果。
希望对你有所帮助。
你的echo语句有问题:给出${array[0]}
和${array[1]}
# Declare Array
NAMEOFSEARCHENGINE=( Google Yahoo Bing Blekko Rediff )
# get length of an array
arrayLength=${#NAMEOFSEARCHENGINE[@]}
# use for loop read all name of search engine
for (( i=0; i<${arrayLength}; i++ ));
do
echo ${NAMEOFSEARCHENGINE[$i]}
done
输出:
Google
Yahoo
Bing
Blekko
Rediff
我对那个循环的看法:
array=( $(yes sg | head -n10) )
array=( sg sg sg sg sg sg sg sg sg sg )
请查看http://ideone.com/DsQOZ以获取一些证明。还要注意,bash 4+ readarray:
readarray array -t -n 10 < <(yes "whole lines in array" | head -n 10)
readarray array -t -n 10 < <(pgrep -f bash)