for subdir in $SUBDIR;
do
echo "building " $subdir;
done
结果:
building joan
building joanna
结果正常。
SUBDIR="1 2 3 4"
for subdir in $SUBDIR;
do
echo "building " $subdir;
done
结果:
building 1
building 2
building 3
building 4
结果正常。
若在定义变量列表时没加引号,就出现错误。如:
SUBDIR=joan joanna
for subdir in $SUBDIR;
do
echo "building " $subdir;
done
运行出现错误,无法通过。
SUBDIR=10
for subdir in $SUBDIR;
do
echo "building " $subdir;
done
结果:
building 10
正常。
SUBDIR=“10”
for subdir in $SUBDIR;
do
echo "building " $subdir;
done
结果:
building 10
正常。
总结:定义值,随后遍历定义的值中,对于数据列表需要用引号引起来;单个数据是否加引号无所谓。
定义列表变量还有一种写法:在in后直接写出变量列表。
for subdir in joan joaaa;
do
echo "building " $subdir;
done
结果正常:
building joan
building joaaa
若写成:
for subdir in "joan joaaa"
do
echo "building " $subdir
done
结果:
building joan joaaa
没有出现语法错误,但并没有得到我们需要的结果。
总结:in 后的列表如果加" ",会将其看做一个整体。
in后调用shell命令:
DIR=
"/var"
cd
$DIR
for
k
in
$(
ls
$DIR)
do
echo
$k
done
do
echo $k
done