簡體   English   中英

無法將cwwd設置為相對主目錄(perl)Net :: SFTP :: Foreign

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM