我试图做一个bash脚本这将焦油所有文件夹单独递归的文件夹。bash脚本焦油用空格
不过,我有一个问题,因为一些文件夹名称有空格等 所以它不能正常工作。
我有什么:
#!/bin/bash
SAVEIFS=$IFS
IFS=$(echo -en "\n\b")
for i in $(ls ./2011)
do
tar -zcvf "$i".tar.gz "$i"
done
IFS=$SAVEIFS
但是出现例如问题:
tar -zcvf St Patricks Day Bar Night.tar.gz St Patricks Day Bar Night
的空间会产生问题,有什么解决这个好办法?
感谢之名换行,空格迷惑,这个工程。小心解释为什么循环必须采用这种格式? – Neutralise
'对... in'总是在空间分割的东西,你不能围绕得到(甚至不'IFS')。但是'read'在\ n角色分裂了一些东西,这几乎是完美的(除非你真的在你的文件名中有\ n,在这种情况下你可能不应该感到可惜)。 –