我将主目录中的文件复制到新目录。当我尝试重命名此新目录中的文件时,主目录中的文件将更改,新目录中的文件将保留其名称。我的代码如下所示。
srcDir=$HOME
newDir=$1
mkdir $1
cp $srcDir/* $newDir
for file in newDir/*; do
filename=$(basename $file)
if [[ SOMETHING ]]; then
mv $filename newname
fi
done
如果有人能告诉我哪里出错了,我们将非常感激。
答案 0 :(得分:2)
您正在重命名当前工作目录中的文件,与
一样mv ./$filename newname
您需要预先添加路径:
mv newDir/"$filename" newDir/newname
或者,更改工作目录:
cd newDir
for file in * ; do
mv "$file" newname
done