如何使用Net::SSH::Perl检查远程目录是否存在

4

使用Perl Net::SSH::Perl检查远程目录是否存在

我想使用Net::SSH::Perl模块检查报告服务器上是否存在一个目录。

以下命令可行:

my($stdout, $stderr, $exit) = $ssh->cmd("ls -al /home/mydir");

但是我该如何做到像这样:
if ( ! -e "/home/mydir/mydir_1" ) {
   mkdir "/home/mydir/mydir_1";
}

有没有使用这个Perl模块来实现这个功能的方法?

如果远程端也有perl,只需使用 $ssh->cmd(qq{perl -wle 'exit -e shift' '$filename'}),然后查看退出码。 - Corion
1个回答

4
< p > mkdir-p 选项可以实现您想要的功能(如果已存在则不会出错),因此可以使用以下命令:

my($stdout, $stderr, $exit) = $ssh->cmd("mkdir -p /home/mydir/mydir_1");

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接