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
顺便说一下,请确保在任何地方都使用足够的引号。包含文件名的变量基本上应该总是用双引号引起来。
我正在编写一个 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
顺便说一下,请确保在任何地方都使用足够的引号。包含文件名的变量基本上应该总是用双引号引起来。