我正在开发一个shell脚本,它将所有文件从命令行复制到一个目录。如果命令行参数包含任何重复文件,我想提示用户覆盖现有文件(它现在应该在目录中),不要复制它,或者重命名它然后复制它。
解决此问题的最佳方法是什么?
这是我正在思考的一些伪代码:
for var in "$@"
do
for file in "$dirName" #unsure about this syntax too
do
if [ file or directory with name "$fileName" exists]; then
prompt user with options #i can handle this part :)
else
mv $var $dirName
fi
done
done
答案 0 :(得分:1)
你太复杂了。
for var in "$@"
do
if [ -e "$dirname/$var" ]; then
prompt user with options #i can handle this part :)
else
mv "$var" "$dirName"
fi
done
顺便说一下,确保你到处都使用适当的引用。包含文件名的变量基本上应该是双引号。