如果该文件存在,则移动或复制文件?

时间:2017-11-07 09:33:16

标签: linux shell centos mv

我正在尝试运行命令

mv /var/www/my_folder/reports.html /tmp/

运行正常。但我想提出一个条件,如果该文件存在,那么只运行命令。有什么类似的吗?

我可以改为使用shell文件。 对于一个尝试下面的东西

if [ -e /var/www/my_folder/reports.html ]
  then
  mv /var/www/my_folder/reports.html /tmp/
fi

但我需要一个命令。有人可以帮我这个吗?

3 个答案:

答案 0 :(得分:2)

您只需在shell脚本

中执行此操作即可
#!/bin/bash

# Check for the file
ls /var/www/my_folder/ | grep reports.html > /dev/null

# check output of the previous command
if [ $? -eq 0 ]
then
    # echo -e "Found file"
    mv /var/www/my_folder/reports.html /tmp/
else
    # echo -e "File is not in there"
fi

希望有所帮助

答案 1 :(得分:1)

仅在文件存在时移动文件/var/www/my_folder/reports.html和常规文件:

[ -f "/var/www/my_folder/reports.html" ] && mv "/var/www/my_folder/reports.html" /tmp/
  • -f - 如果文件存在且返回true值,则返回常规文件

答案 2 :(得分:0)

如果存在文件,然后通过标准错误输出移动或回显消息

test -e /var/www/my_folder/reports.html && mv /var/www/my_folder/reports.html /tmp/ || echo "not existing the file" >&2