plan9port

fork of plan9port with libvec, libstr and libsdb
Log | Files | Refs | README | LICENSE

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