我在代码中使用了一个检查-f
来查看是否存在特定文件。
我怀疑有时(可能在十分之一的情况下)它不起作用,因为我在那种情况下看到一些奇怪的错误。
我的代码是:if [-f /folder/file] do something
else remove something
。
在我的部署中,/ folder / file始终存在。因此上面的文件检查应该始终有效,但我在一些非常罕见的情况下看到删除了一些被调用的东西......这是不对的。如果存在上述/文件夹/文件,则不应调用某些内容。
如果存在/ folder / file,是否存在-f检查仍然失败的情况?例如,如果文件夹或文件是只读的还是基于权限??
答案 0 :(得分:0)
您必须在[
之后添加空格!在[
和-f
之间
if [ -f "/folder/file" ] ; then
echo "do something"
else
echo "do something else"
fi