netfilestat (665B)
1 #!/usr/local/plan9/bin/rc 2 3 if(! ~ $#* 2){ 4 echo usage: netfilestat system path >[1=2] 5 exit usage 6 } 7 8 f=dostat 9 10 . netfilelib.rc $1 11 12 fn dostat { 13 echo cd $2 | runsftp $1 14 if(9 test -e $t.sftp -a ! -s $t.sftp){ 15 echo directory 16 exit 0 17 } 18 if(9 grep -s 'Can''t change directory|is not a directory' $t.sftp){ 19 echo file 20 exit 0 21 } 22 if(9 grep -s 'Couldn''t stat remote file|such file' $t.sftp){ 23 echo nonexistent 24 exit 0 25 } 26 { 27 echo unknown error: 28 sed 's/^/ /' $t.sftp 29 } >[1=2] 30 exit 0 31 } 32 33 fn dostat9p { 34 if(! 9p ls -ld $1/$2 >$t >[2]/dev/null){ 35 echo nonexistent 36 exit 0 37 } 38 if(9 grep -s '^d' $t){ 39 echo directory 40 exit 0 41 } 42 echo file 43 exit 0 44 } 45 46 $f $1 $2