LFTP -创建目录,如果它不存在



如果目录不存在,我想使用LFTP创建一个目录。它应该是"一行字":

这个已经可以工作了:

lftp -c "open -u user,pass server; mkdir /test

lftp -c "open -u user,pass server; mkdir -p /test

如果目录已经存在

失败:

mkdir: Zugriff nicht möglich:550-无法创建目录:File exists: 16 files used (0%) - authorized: 50000 files 1286621 Kbytes used (0%) - authorized: 512000000 Kb (/test2)

但是如果目录已经存在,它会失败。我怎么才能做得更优雅?

可以使用mkdir -f选项来抑制错误信息。该选项从4.5.2版本开始可用。最新的lftp版本是4.7.3

如果您无法升级到最新版本的lftp,您可以使用以下命令:

lftp -c "cd /my/new/directory || mkdir -p /my/new/directory"

只有在无法进入目录时才会创建目录。

看起来像mkdir -pf /my/new/directory || cd /my/new/directory对我来说是一个解决方案:没有错误消息,没有错误代码,除非目录有问题(权限,名称作为文件存在等)

UPD:在我的例子中,我只需要创建目录。如果命令在较长的脚本中使用,则可能需要额外的cd命令,因为上述命令之后的工作目录取决于之前是否存在/my/new/directory

你是指简单的mkdir -p /test吗?

回答这里:如何mkdir仅当一个目录不存在?

From mkdir --help:

-p,——parents如果存在则没有错误,根据需要创建父目录

相关内容

  • 没有找到相关文章

最新更新