我正在尝试运行命令
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
但我需要一个命令。有人可以帮我这个吗?
答案 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