for脚本快速定义数组
[root@localhost ~]# vim for12.sh #脚本编辑
#!/bin/bash
for a in `cat /etc/hosts`
do
hosts[++o]=$a
done
for 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`
do
hosts[++o]=$a
done
for i in ${!hosts[@]}
do
echo "$i: ${hosts[$a]}"
done
IFS=$OLD_IFS #将分隔符还原,便于脚本后反的for使用
[root@localhost ~]# bash for12.sh #执行脚本