[英]Can not setcwd to relative home directory (perl) Net::SFTP::Foreign
我正在嘗試通過SFTP訪問遠程服務器。 我為此使用Net :: SFTP :: Foreign。 當我嘗試將目錄更改為用戶的主目錄時出現問題。 不允許像在shell中那樣更改目錄。
cd ~
cd ~/folder
我的perl代碼如下。
$sftp->setcwd("~/aast-backup/$backup_type") or die "unable to change cwd: " . $sftp->error;
unable to change cwd: Couldn't get realpath for remote '/home/ftpkasi/aast-backup/~/aast-backup/differential
請給它一些照明。 提前致謝...
答案在cwd
方法的文檔中:
$ sftp-> cwd
返回遠程當前工作目錄。
當相對遠程路徑傳遞到此程序包上的任何方法時,此目錄將用於組成絕對路徑。
因此,您傳遞給setcwd
的相對路徑將附加到初始cwd
。 您可以在收到的錯誤消息中看到這一點。 初始cwd
為
/home/ftpkasi/aast-backup/
當你打電話時
$sftp->setcwd("~/aast-backup/$backup_type")
它嘗試更改到目錄
/home/ftpkasi/aast-backup/~/aast-backup/differential
顯然不存在。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.