aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/netfiles/netfilestat
diff options
context:
space:
mode:
authorrsc <devnull@localhost>2005-03-18 19:30:22 +0000
committerrsc <devnull@localhost>2005-03-18 19:30:22 +0000
commit7c709434eccd461a3f3c522df6224adf4e50a8da (patch)
tree07824349dbc0e919ab411b254cca583e5f6feb7d /src/cmd/netfiles/netfilestat
parent72fd2f881907db5e367ffee1fcecb737c44a0090 (diff)
downloadplan9port-7c709434eccd461a3f3c522df6224adf4e50a8da.tar.gz
plan9port-7c709434eccd461a3f3c522df6224adf4e50a8da.tar.bz2
plan9port-7c709434eccd461a3f3c522df6224adf4e50a8da.zip
new files
Diffstat (limited to 'src/cmd/netfiles/netfilestat')
-rwxr-xr-xsrc/cmd/netfiles/netfilestat52
1 files changed, 52 insertions, 0 deletions
diff --git a/src/cmd/netfiles/netfilestat b/src/cmd/netfiles/netfilestat
new file mode 100755
index 00000000..1d687e51
--- /dev/null
+++ b/src/cmd/netfiles/netfilestat
@@ -0,0 +1,52 @@
+#!/usr/local/plan9/bin/rc
+
+if(! ~ $#* 2){
+ echo usage: netisdir system path >[1=2]
+ exit usage
+}
+
+f=dostat
+ns=`{namespace}
+if(u test -S $ns/$1)
+ f=$f^9p
+
+t=/tmp/netisdir.$pid.$USER
+fn sigexit { rm -f $t }
+
+fn dostat {
+ {
+ echo !echo XXX connected
+ echo cd $2
+ echo !echo XXX directory exists
+ } | sftp -b - $1 >$t >[2=1]
+ if(9 grep -s XXX.directory.exists $t){
+ echo directory
+ exit 0
+ }
+ if(9 grep -s 'is not a directory' $t){
+ echo file
+ exit 0
+ }
+ cat $t | sed 's/sftp> //g; /^$/d; /XXX/d; /^cd /d' >[1=2]
+ if(! 9 grep -s XXX.connected $t){
+ echo connect failed
+ exit 0
+ }
+ echo nonexistent
+ 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