Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法将CWD设置为相对主目录(perl)Net::SFTP::Foreign_Perl_Bash_Scripting_Ftp_Sftp - Fatal编程技术网

无法将CWD设置为相对主目录(perl)Net::SFTP::Foreign

无法将CWD设置为相对主目录(perl)Net::SFTP::Foreign,perl,bash,scripting,ftp,sftp,Perl,Bash,Scripting,Ftp,Sftp,我正在尝试通过SFTP访问远程服务器。为此,我使用Net::SFTP::Foreign。当我尝试将目录更改为用户的主目录时,问题出现了。它不允许像在shell中那样更改目录 cd ~ cd ~/folder 我的perl代码如下所示 $sftp->setcwd("~/aast-backup/$backup_type") or die "unable to change cwd: " . $sftp->error; 显示错误 请把灯照进来。先谢谢你 答案在cwd方法中: $sft

我正在尝试通过SFTP访问远程服务器。为此,我使用Net::SFTP::Foreign。当我尝试将目录更改为用户的主目录时,问题出现了。它不允许像在shell中那样更改目录

cd ~
cd ~/folder
我的perl代码如下所示

 $sftp->setcwd("~/aast-backup/$backup_type") or die "unable to change cwd: " . $sftp->error;
显示错误 请把灯照进来。先谢谢你

答案在
cwd
方法中:

$sftp->cwd

返回远程当前工作目录

将相对远程路径传递到此包上的任何方法时,此目录用于组成绝对路径。

因此,传递给
setcwd
的相对路径将附加到初始
cwd
中。您可以在收到的错误消息中看到这一点。初始
cwd

/home/ftpkasi/aast-backup/
当你打电话的时候

$sftp->setcwd("~/aast-backup/$backup_type")
它试图更改到目录

/home/ftpkasi/aast-backup/~/aast-backup/differential
这显然是不存在的

/home/ftpkasi/aast-backup/~/aast-backup/differential