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 OSF1
rsh
rsh(1) General Commands Manual rsh(1)NAME
rsh - Executes the specified command at the remote host or logs into a remote host
SYNOPSIS
rsh [-dn] [-l user] remote_host [command] [argument...]
The remote shell command (rsh) executes command at the remote_host, or, if no command is specified, logs into remote_host.
OPTIONS
Turns on socket debugging (using setsockopt()) on the TCP sockets used for communication with the remote host. Specifies that rsh is to
log into the remote host as user instead of the local username. If this option is not specified, the local and remote usernames are the
same. Specifies that rsh is to ignore input from STDIN. Use this option if you put rsh in the background without redirecting its input
away from the terminal. If you do not use this option in this situation, rsh blocks even if no reads are posted by the remote command.
DESCRIPTION
The rsh command sends standard input from the local host to the remote command and receives standard output and standard error from the
remote command. If you do not specify a command, rsh executes rlogin instead.
If you do not specify the -l option, the local username is used at the remote host. If -l user is entered, the specified username is used
at the remote host. In either case, the remote host allows access only if at least one of the following conditions is satisfied: The local
user ID is not superuser, and the name of the local host is listed as an equivalent host in the remote /etc/hosts.equiv file. If either
the local user ID is superuser or the check of /etc/hosts.equiv fails, the remote user's home directory must contain a $HOME/.rhosts file
that lists the local host and username.
For security reasons, any $HOME/.rhosts file must be owned by either the remote user or the root user, and should have permissions set to
600 (read and write by owner only).
In addition to the preceding conditions, rsh also allows access to the remote host if the remote user account does not have a password
defined. However, for security reasons, use of a password on all user accounts is recommended.
While the remote command is executing, pressing the Interrupt, Terminate, or Quit key sequences sends the corresponding signal to the
remote process. However, pressing the Stop key sequence stops only the local process. Normally, when the remote command terminates, the
local rsh process terminates.
To have shell metacharacters interpreted on the remote host, place the metacharacters inside (double quotes). Otherwise, the metacharac-
ters are interpreted by the local shell.
RESTRICTIONS
The rsh command is confused by output generated by commands in a file on the remote host. In particular, the messages, where are you? and
stty: Can't assign requested address can result if output is generated by the startup file.
EXAMPLES
In the following examples, the local host host1 is listed in the /etc/hosts.equiv file at the remote host host2. To check the amount of
free disk space on the remote host host2, enter: $ rsh host2 df To append a remote file to another file on the remote host, place the >>
metacharacters in (double quotes): $ rsh host2 cat test1 ">>" test2 To append a remote file at the remote host to a local file, omit the
double quotes: $ rsh host2 cat test2 >> test3 To append a remote file to a local file and use a remote user's permissions at the remote
host, use the -l option: $ rsh host2 -l jane cat test4 >> test5
FILES
Specifies remote hosts from which users can execute commands on the local host (provided these users have an account on the local host).
Specifies remote users that can use a local user account.
SEE ALSO
Commands: rcp(1), rlogin(1), rshd(8), telnet(1)
Functions: rexec(3)
Files: rhosts(4)rsh(1)