Solved

Korn shell script

Posted on 1998-10-05
7
369 Views
Last Modified: 2010-05-18
I wrote the following script, but it is not working when I run it as root. It is supposed to read one line at a time and process each line. As root it only reads one line. As my userid it reads each line, but can't rsh to the computer name listed in the file it reads. Any suggestions?
#!/usr/bin/ksh
while read dev
do
   if [[ $dev != lastrecord ]]
   then
     echo "-"$dev"-"
     var1=`rsh -l root $dev lpstat -d | awk '{print $4}'`
     echo $dev"  "$var1 >> ./test.file
   else
     break
   fi
done < ./hp.txt
0
Comment
Question by:carydb
  • 3
  • 3
7 Comments
 
LVL 51

Expert Comment

by:ahoffmann
ID: 2007213
1. your rsh command misses the hostname (typo?)
2. check your  /.rhosts file
0
 

Author Comment

by:carydb
ID: 2007214
I did some further checking and found that the while loop breaks after the rsh command succeeds. I have to rewrite the script. Thanks anyway.
0
 
LVL 51

Expert Comment

by:ahoffmann
ID: 2007215
so my suggestion was right
0
Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

 

Author Comment

by:carydb
ID: 2007216
ahoffmann - No, your suggestion was not right. What happened is the rsh was working fine. It would log on to the remote and write the default printer to a file, but when the rsh line completed the input file to the script was already closed so the while loop would not continue. the ./rhost file was not a problem and my rsh command did not miss the host name, thus no typo? I appriciate you input, but I rewrote the script to write a script that had multiple rsh commands to get rid of the while loop.  Perhaps I should withdraw the question since I already solved it. Can I withdraw a question? How?
0
 
LVL 51

Expert Comment

by:ahoffmann
ID: 2007217
look at the Support topic at E-E, I think email was support@experts-exchange.com
0
 
LVL 1

Accepted Solution

by:
ksb earned 50 total points
ID: 2007218
The "rsh" command is reading all of stdin when it fails.

Use "rsh -n" and the original code will work fine.


0
 

Author Comment

by:carydb
ID: 2007219
Sheesh! It was that easy huh? I rewrote the script from a Korn script to a C program that used system calls to get around the problem. I tested the "-n" flag on rsh and the script ran just fine. Thanks a bunch! :)  
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
sort command HPUX 11 81
Hyper-threading config in Solaris 6 167
How to calculate the current use of PVU on my TSM server. 4 80
Unix Script: Loop over all days of a month 17 106
Using libpcap/Jpcap to capture and send packets on Solaris version (10/11) Library used: 1.      Libpcap (http://www.tcpdump.org) Version 1.2 2.      Jpcap(http://netresearch.ics.uci.edu/kfujii/Jpcap/doc/index.html) Version 0.6 Prerequisite: 1.      GCC …
FreeBSD on EC2 FreeBSD (https://www.freebsd.org) is a robust Unix-like operating system that has been around for many years. FreeBSD is available on Amazon EC2 through Amazon Machine Images (AMIs) provided by FreeBSD developer and security office…
Learn how to get help with Linux/Unix bash shell commands. Use help to read help documents for built in bash shell commands.: Use man to interface with the online reference manuals for shell commands.: Use man to search man pages for unknown command…
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.

839 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question