for读取列表中复杂值:
for test in I don't konw if this'll work
do .......
shell会把列表中的单引号尝试使用他们来一定一个单独的数据
两种办法解决:1)使用转义字符(\反斜线)来将单引号转义
2)使用双引号来定义用到的单引号
for test in I don\'t know if "this'll" work
for命令用空格来划分列表中的每个值,如果在单独的数据表中有空格,那么必须用双引号将这些值圈起来
for还可以从变量读取列表
list="ahgoi aohgihao ahoghosi hoiahgoia oahgoia "
list=$list"hello world"
for test in $list
do
echo ....................
done
for 从命令读取值
fiel ="states"
dor state in 'cat $fiel'