X-Git-Url: http://www.dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=cmd%2Fsave.pl;h=dce7b49cd5bb75b2662d215a3f1dfcb3216c6d16;hb=refs%2Fheads%2Fstaging;hp=5a3cacdd87a392c12d1fd4001135a88383e179f0;hpb=8486af73ead7e98c81c244cafcdfceabb21f10f7;p=spider.git diff --git a/cmd/save.pl b/cmd/save.pl index 5a3cacdd..dce7b49c 100644 --- a/cmd/save.pl +++ b/cmd/save.pl @@ -1,13 +1,15 @@ # # save the output of ANY command to a file # +# From an idea by Rene OZ1LQH +# # Copyright (c) 2002 Dirk Koopman G1TLH # -# $Id$ +# # my ($self, $line) = @_; -return (1, $self->msg('e5')) if $self->priv < 9 || $self->remotecmd; +return (1, $self->msg('e5')) if $self->priv < 9 || $self->remotecmd || $self->inscript; my ($date_req, $time_req); my $app_req = '>'; @@ -24,9 +26,11 @@ if ($line =~ /-a/) { # append to the file $app_req = '>>'; } +#$DB::single = 1; + my ($fn, $rest) = split /\s+/, $line, 2; $fn = "$main::root/packclus/$fn" unless $fn =~ m|^/|; -$fn =~ s/..//g; +$fn =~ s/\.\.//g; $fn =~ s|/+|/|g; $fn .= '_' . cldate if $date_req; $fn .= '_' . ztime if $time_req; @@ -40,7 +44,9 @@ if ($rest =~ /^\s*\"/) { } open OF, "$app_req$fn" or return (1, $self->msg('e30', $fn)); for (@cmd) { + $self->{_nospawn} = 1; print OF map {"$_\n"} $self->run_cmd($_); + delete $self->{_nospawn}; } close OF; return (1, $self->msg('ok'));