我正在尝试编写一个脚本,该脚本将复制一个目录的内容,将其发送到./test/
并附加到_copy
文件名。下面是我当前的脚本。我似乎无法附加_copy
到文件名。任何改进的小建议也会有所帮助。
#!/bin/bash
sourceDir=~sschro15/practice
targetDir=./test/
count=0
if [ -d $sourceDir ] && [ -r $sourceDir ]
then
echo "blah" &> /dev/null
else
echo "Error: $sourceDir is not accessible."
exit 1
fi
if [ -w $sourceDir ]
then
echo "blah" &> /dev/null
else
echo "Error: $sourceDir is not writeable."
exit 1
fi
for file in $sourceDir/*
do
cp -r $file/* ./test/ "$targetDir/*_copy"
echo
echo "Copied $file to $sourceDir/*_copy"
count=$[ $count + 1 ]
done
echo
echo "$count files have been copied."
答案1
尝试这个(未经测试),也许在前面加上,cp
以便echo
打印它将执行的命令:
代替:
cp -r $file/* ./test/ "$targetDir/*_copy"
和:
cp -r "$file" "${targetDir}/${file}_copy"
供测试用:
echo cp -r "$file" "${targetDir}/${file}_copy"