背景:mv 或者cp 是文件名称带空格,shell给以IFS默认值为空格,分成多个复制给变量
解决办法
#!/bin/bash
ls|while read i;do
mv "$i" $(echo $i|tr -d ' ') 2>/dev/null
done
~
#!/bin/bash
IFS_old=$IFS;
IFS=$'\n';
for name in `ls | grep .*.jpg`;
do
mv $name LW_$name;
done;
IFS=$IFS_old;