diff options
author | rsc <devnull@localhost> | 2005-03-18 19:30:22 +0000 |
---|---|---|
committer | rsc <devnull@localhost> | 2005-03-18 19:30:22 +0000 |
commit | 7c709434eccd461a3f3c522df6224adf4e50a8da (patch) | |
tree | 07824349dbc0e919ab411b254cca583e5f6feb7d /src/cmd/netfiles/netfilestat | |
parent | 72fd2f881907db5e367ffee1fcecb737c44a0090 (diff) | |
download | plan9port-7c709434eccd461a3f3c522df6224adf4e50a8da.tar.gz plan9port-7c709434eccd461a3f3c522df6224adf4e50a8da.tar.bz2 plan9port-7c709434eccd461a3f3c522df6224adf4e50a8da.zip |
new files
Diffstat (limited to 'src/cmd/netfiles/netfilestat')
-rwxr-xr-x | src/cmd/netfiles/netfilestat | 52 |
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 |