2009-11-26 64 views

回答

5

來說明使用的Manni's recommendation

use Fcntl(:mode); 

my $permissions = $sftp->do_stat($path)->perm(); 
my $is_directory = S_ISDIR($permissions); 
0

至少有兩種方法可以做到這在SFTP和Ruby:

require 'net/sftp' 
Net::SFTP.start('HOSTNAME', 'USER', :password => 'PASSWORD') do |sftp| 

    file = File.expand_path(__FILE__) 
    dir = File.dirname(file) 

    sftp.lstat!(file).directory? 
    sftp.lstat!(dir).file? 

    sftp.file.open(dir, "r") do |f| 
    f.stat.file? 
    f.stat.directory? # true 
    end 

end 
相關問題