我正在尝试编写一个脚本,询问用户是否确定要将文件移动到某个目录。该脚本需要检查目标目录中是否已存在该文件,如果存在,则询问用户是否要使用要移动的文件覆盖现有文件。
我的 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_FILE
到DEST_DIR
如果确实如此,不是已经存在于DEST_DIR
.
答案2
尝试:
if [ -e filename ]; then
# something
fi
仅用一个方括号