46 lines
665 B
Bash
Executable file
46 lines
665 B
Bash
Executable file
#!/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
|