linux shell 中 如何处理空格的路径?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux shell 中 如何处理空格的路径?相关的知识,希望对你有一定的参考价值。

有目录如下:
[root@iZ94611itifZ test]# find . -type d
./a b #注中间 有空格
./a c

有一个test.sh 脚本如下:
[root@iZ94611itifZ test]# cat test.sh
#/bin/bash

myhome=`pwd`
for str in `find . -type d`
do
cd "$str"
echo "process $str"
cd $myhome
done

运行 [root@iZ94611itifZ test]# sh test.sh
process .
test.sh: line 10: cd: ./a: No such file or directory
process ./a
test.sh: line 10: cd: b: No such file or directory
process b
test.sh: line 10: cd: ./a: No such file or directory
process ./a
test.sh: line 10: cd: c: No such file or directory
process c

linux shell 中 如何处理空格的路径?

#/bin/bash
SAVEIFS="$IFS"
myhome=`pwd`
IFS='
'
for str in `find . -type d`
do
          cd  "$str"
           echo "process $str"
           cd $myhome
 done
 IFS="$SAVEIFS"

参考技术A 改IFS为\n
IFS=$'\n'本回答被提问者采纳

以上是关于linux shell 中 如何处理空格的路径?的主要内容,如果未能解决你的问题,请参考以下文章

VB调用SHELL,参数路径有空格如何处理?

linux之文件查看,操作

如何处理带空格的文件名?

[100 Tips About Shell] Shell中是如何处理换行符的

如何处理sql中xml标记之间的前导空格

Linux中的find和grep命令对查找到的文件如何处理啊