Bash脚本从命令行参数检查重复的文件名

时间:2015-03-04 08:10:22

标签: bash file shell scripting duplicates

我正在开发一个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

1 个答案:

答案 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

顺便说一下,确保你到处都使用适当的引用。包含文件名的变量基本上应该是双引号。