Solved

Korn shell script

Posted on 1998-10-05
7
366 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
Comment Utility
1. your rsh command misses the hostname (typo?)
2. check your  /.rhosts file
0
 

Author Comment

by:carydb
Comment Utility
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
Comment Utility
so my suggestion was right
0
How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

 

Author Comment

by:carydb
Comment Utility
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
Comment Utility
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
Comment Utility
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
Comment Utility
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

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Suggested Solutions

Attention: This article will no longer be maintained. If you have any questions, please feel free to mail me. jgh@FreeBSD.org Please see http://www.freebsd.org/doc/en_US.ISO8859-1/articles/freebsd-update-server/ for the updated article. It is avail…
Let's say you need to move the data of a file system from one partition to another. This generally involves dismounting the file system, backing it up to tapes, and restoring it to a new partition. You may also copy the file system from one place to…
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:
Learn how to navigate the file tree with the shell. Use pwd to print the current working directory: Use ls to list a directory's contents: Use cd to change to a new directory: Use wildcards instead of typing out long directory names: Use ../ to move…

771 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

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now