如何使用文件测试来检查目录中是否已存在文件

如何使用文件测试来检查目录中是否已存在文件

我正在尝试编写一个脚本,询问用户是否确定要将文件移动到某个目录。该脚本需要检查目标目录中是否已存在该文件,如果存在,则询问用户是否要使用要移动的文件覆盖现有文件。

我的 if 语句中的文件测试应该是什么样子?此刻我有

if [[ -e /目标目录 ]] ;然后........

但这似乎不是正确的解决方案?

答案1

您正在寻找的测试是:

[[ -f /path/to/file ]]

其中/path/to/file是您正在测试以查看它是否存在的文件的路径。您可以使用条件将此测试放置在条件中(前提DEST_DIR是文件的目标目录SRC_FILE):

if ! [[ -f DEST_DIR/file ]]; then
  mv SRC_FILE DEST_DIR
fi

在哪里!返回 true 的是文件的内容不是存在。这会将移动SRC_FILEDEST_DIR如果确实如此,不是已经存在于DEST_DIR.

答案2

尝试:

if [ -e filename ]; then 
# something
fi

仅用一个方括号

相关内容