centos 如果文件存在,是否移动或复制该文件?

os8fio9y  于 2022-11-07  发布在  其他
关注(0)|答案(4)|浏览(268)

我正在尝试运行命令

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

它运行正常。2但是我想设置一个条件,比如如果文件存在,那么只运行命令。3有类似的条件吗?
我可以把一个shell文件代替。为shell一个尝试下面的事情

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

但我需要一个命令。谁能帮我一下吗?

jaxagkaj

jaxagkaj1#

仅当文件/var/www/my_folder/reports.html存在时才移动该文件,并且常规文件:

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

yh2wf1be2#

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

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

vlju58qv3#

您可以在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

希望能有所帮助

czfnxgou

czfnxgou4#

也许您的用例是“如果不存在则创建,然后总是复制”。那么:touch myfile && cp myfile mydest/

相关问题