#!/usr/local/plan9/bin/rc | |
if(! ~ $#* 2){ | |
echo usage: netfilestat system path >[1=2] | |
exit usage | |
} | |
f=dostat | |
. netfilelib.rc $1 | |
fn dostat { | |
echo cd $2 | runsftp $1 | |
if(9 test -e $t.sftp -a ! -s $t.sftp){ | |
echo directory | |
exit 0 | |
} | |
if(9 grep -s 'Can''t change directory|is not a directory' $t.sftp){ | |
echo file | |
exit 0 | |
} | |
if(9 grep -s 'Couldn''t stat remote file|such file' $t.sftp){ | |
echo nonexistent | |
exit 0 | |
} | |
{ | |
echo unknown error: | |
sed 's/^/ /' $t.sftp | |
} >[1=2] | |
exit 0 | |
} | |
fn dostat9p { | |
if(! 9p ls -ld $1/$2 >$t >[2]/dev/null){ | |
echo nonexistent | |
exit 0 | |
} | |
if(9 grep -s '^d' $t){ | |
echo directory | |
exit 0 | |
} | |
echo file | |
exit 0 | |
} | |
$f $1 $2 |