git-svn-id: svn+ssh://svn.dolda2000.com/srv/svn/repos/src/utils@1090
959494ce-11ee-0310-bf91-
de5d638817bd
--- /dev/null
+#!/usr/bin/perl
+
+if(@ARGV < 1) {
+ print STDERR "usage: rsc HOST CMD ARG...\n";
+ exit 1;
+}
+
+if($ARGV[0] eq "-s") {
+ $c = "";
+ while(<STDIN>) {
+ chomp;
+ s/\\(.)/$1/g;
+ $c .= $_;
+ if(/\\$/) {
+ $c =~ s/\\$/\n/;
+ next;
+ }
+ push @a, $c;
+ $c = "";
+ }
+ for (@a) {
+ exec @a;
+ print STDERR "$a[0]: $!\n";
+ exit 1;
+ }
+} else {
+ $host = shift @ARGV;
+ $pid = open SSH, "|-";
+ if($pid == 0) {
+ exec "ssh", "$host", "rsc", "-s";
+ die "$!";
+ }
+ for (@ARGV) {
+ s/([\\\n])/\\$1/g;
+ print SSH "$_\n";
+ }
+ close SSH;
+ waitpid $pid, 0;
+}
+
+