for脚本快速定义数组
[root@localhost ~]# vim for12.sh #脚本编辑
#!/bin/bash
for a in `cat /etc/hosts`
do hosts[++o]=$a
donefor i in ${!hosts[@]}
do echo "$i : ${hosts[$a]}"
done[root@localhost ~]# vim for12.sh #执行脚本
区别 :for的空格分割
解决方法:如何解决for的空格分割的问题。使用IFS=$'\n'重新定义分割符。
[root@localhost ~]# vim for12.sh #编写脚本
#!/bin/bash
OLD_IFS=$IFS #将旧的分隔符备份
IFS=$'\n' #定义for的分隔符是换行符
for aaa in `cat /etc/hosts`
dohosts[++o]=$a
donefor i in ${!hosts[@]}
doecho "$i: ${hosts[$a]}"
done
IFS=$OLD_IFS #将分隔符还原,便于脚本后反的for使用[root@localhost ~]# bash for12.sh #执行脚本