Using cat requires a pipe, and this requires the loop to 1. run in a sub shell and 2. read from stdin (descriptor 1, default).
1. A subshell is more overhead, and you cannot modify shell variables in the main shell.
2. rsh (and ssh) read from stdin, that competes with a read from stdin. Work-arounds are: rsh -n ... or rsh </dev/null ...
I think reboot does not take arguments like now, is misleading at least.
Because the connection might be dropped before the command finishes, it is safer to run it in the background wirh a little delay.
This User Gave Thanks to MadeInGermany For This Post:
Hi ,
reading a "file1" with 2 data in each line (VAR1 and VAR2) , i'm using a while loop like this :
cat file1|awk '{print $1,$2}'|while read VAR1 VA2
do
echo $VAR1
echo $VAR2
done
as this example shows , it works but if between do and done i use
a "rsh" command , the script reads... (6 Replies)
hi
I wanted to use the for loop structure in tandem with rsh command and the result to be redirected into a local .lst file within a shell script .
Tried the following but does not help :confused: .
rsh ABCD "cd /bosp/local/home/linus/;for i in `ls -ltr | grep ^- | awk {'print $9'}`
do... (4 Replies)
Hi all
I have a while read loop that I use to process a file line by line. The reason I am using this is due the fact that I have spaces in the line and a for loop treats the space as a delimeter for the next record.
In this while loop I have a rsh. It appears that cos of the rsh, I never get... (1 Reply)
Hey all
I have two scripts, one script containing the guts of my code.
The other simply loops through a list, calling the other script on each iteration.
Problem is when I add the line
`/usr/bin/rsh -l root $HOSTNAME ""`
to my main script, the loop never seems to exectute any more... (1 Reply)
hi everyone,
I have the following problem: the foreach loop inside rsh doesn'work.
I have tried the for command but it's not recognized. with the foreach command I don't receive any error, but it doesn't really make the cycle, ignoring the foreach and executing 1 time the echo command. Anyone has... (5 Replies)
Oh, how I regret having chosen Solaris...
Really, when I had my last Solaris system ten years ago I was just happy. Like a tank: Slow, clumsy, ugly but rock-solid. Then there were 10 ten years of FreeBSD and OpenBSD. Simple install, fast, nice, good package managing, just running along.
But... (11 Replies)
So I was patching a Solaris 10 U08 X86 X2200 box in preparation for an Oracle upgrade. Rebooted the box because the patches failed and the box will not boot successfully. I need to back up the zones on the 2 drives before going further. I pulled the drives and attempted to mount them on my Ubuntu... (0 Replies)
Hello folks,
I've a (perhaps) simple question.
In a text file I've :
server_name1: directory1
server_name2: directory2
server_name3: directory3
I want to make a loop that lets me connect and operate on every server:
rsh server_name1 "ls -l directory1"
I've tried with awk,... (6 Replies)
Discussion started by: gogol_bordello
6 Replies
LEARN ABOUT BSD
rsh
RSH(1C)RSH(1C)NAME
rsh - remote shell
SYNOPSIS
rsh host [ -l username ] [ -n ] command
host [ -l username ] [ -n ] command
DESCRIPTION
Rsh connects to the specified host, and executes the specified command. Rsh copies its standard input to the remote command, the standard
output of the remote command to its standard output, and the standard error of the remote command to its standard error. Interrupt, quit
and terminate signals are propagated to the remote command; rsh normally terminates when the remote command does.
The remote username used is the same as your local username, unless you specify a different remote name with the -l option. This remote
name must be equivalent (in the sense of rlogin(1C)) to the originating account; no provision is made for specifying a password with a com-
mand.
If you omit command, then instead of executing a single command, you will be logged in on the remote host using rlogin(1C).
Shell metacharacters which are not quoted are interpreted on local machine, while quoted metacharacters are interpreted on the remote
machine. Thus the command
rsh otherhost cat remotefile >> localfile
appends the remote file remotefile to the localfile localfile, while
rsh otherhost cat remotefile ">>" otherremotefile
appends remotefile to otherremotefile.
Host names are given in the file /etc/hosts. Each host has one standard name (the first name given in the file), which is rather long and
unambiguous, and optionally one or more nicknames. The host names for local machines are also commands in the directory /usr/hosts; if you
put this directory in your search path then the rsh can be omitted.
FILES
/etc/hosts
/usr/hosts/*
SEE ALSO rlogin(1C)BUGS
If you are using csh(1) and put a rsh(1C) in the background without redirecting its input away from the terminal, it will block even if no
reads are posted by the remote command. If no input is desired you should redirect the input of rsh to /dev/null using the -n option.
You cannot run an interactive command (like rogue(6) or vi(1)); use rlogin(1C).
Stop signals stop the local rsh process only; this is arguably wrong, but currently hard to fix for reasons too complicated to explain
here.
4.2 Berkeley Distribution April 29, 1985 RSH(1C)