|  | #!/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 |