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

Bash Script To Check for Duplicate File Names from Command Line Arguments

我正在编写一个 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

你把事情搞得太复杂了。

for var in "$@"
do
  if [ -e "$dirname/$var" ]; then
       prompt user with options #i can handle this part :)
  else  
      mv "$var" "$dirName"
  fi
done

顺便说一下,请确保在任何地方都使用足够的引号。包含文件名的变量基本上应该总是用双引号引起来。