当前位置: 技术问答>linux和unix
shell里的for循环问题
来源: 互联网 发布时间:2014-11-30
本文导语: test.sh: --------------begin -------------- #!/bin/sh for FI in "$@" do echo $FI done --------------- end ----------- 执行test.sh ./test.sh abcd "123 456" efgh abcd 123 456 efgh 注意到第二行的 "123 456"了吗?并没有被分成123和456两个...
test.sh:
--------------begin --------------
#!/bin/sh
for FI in "$@"
do
echo $FI
done
--------------- end -----------
执行test.sh
./test.sh abcd "123 456" efgh
abcd
123 456
efgh
注意到第二行的 "123 456"了吗?并没有被分成123和456两个元素处理
如果使用一个本地变量:
---------------
#!/bin/sh
FILES="......" # 此处应该怎么写才能实现上面相同的结果?
for FI in $FILES
do
echo $FI
done
----------------
FILES应该怎么赋值,才能实现上面相同的结果?
--------------begin --------------
#!/bin/sh
for FI in "$@"
do
echo $FI
done
--------------- end -----------
执行test.sh
./test.sh abcd "123 456" efgh
abcd
123 456
efgh
注意到第二行的 "123 456"了吗?并没有被分成123和456两个元素处理
如果使用一个本地变量:
---------------
#!/bin/sh
FILES="......" # 此处应该怎么写才能实现上面相同的结果?
for FI in $FILES
do
echo $FI
done
----------------
FILES应该怎么赋值,才能实现上面相同的结果?
|
#!/bin/sh
r="4 5"
IFS='t'
FILES=1t2t3t$rt6
echo $r
for FI in $FILES
do
echo $FI
done
改变一下IFS值看看行不行。
r="4 5"
IFS='t'
FILES=1t2t3t$rt6
echo $r
for FI in $FILES
do
echo $FI
done
改变一下IFS值看看行不行。
|
不行吗?我可是在自己的unix上测试通过了亚
就是因为有特殊的意义才可以实现这个功能
040就是一个空格
FILES="abc 123040456 def"
你再试一次,不会有问题的。
就是因为有特殊的意义才可以实现这个功能
040就是一个空格
FILES="abc 123040456 def"
你再试一次,不会有问题的。
|
linux的bash是不认识040
|
linux的bash并不认识0040
楼上的方法可行的
楼上的方法可行的