Path: utzoo!attcan!uunet!paralogics!shaw From: shaw@paralogics.UUCP (Guy Shaw) Newsgroups: comp.unix.wizards Subject: rsh does not pass back return code Keywords: rsh, return code Message-ID: <256@paralogics.UUCP> Date: 5 Dec 89 19:48:12 GMT Organization: Paralogics; Santa Monica, CA Lines: 57 Rsh does not seem to pass back the return code from the command executed on another machine. I tried this little shell script: #! /bin/sh NEIGHBOR= rsh $NEIGHBOR /bin/false echo "'rsh $NEIGHBOR /bin/false' => $?" exit 0 It confirms my suspicion that no matter what happens on the remote machine, rsh succeeds. The only non-zero return codes that come from rsh are for things that can go wrong before the remote command is executed, such as invalid hostname. It seems to be pretty common practice to do things like tape backups with commands like: rsh tapeless /usr/etc/dump ... | dd of=/dev/localtape ... and just hope that nothing goes wrong with the dump. Ugh! I often have the situation where a diskless workstation wants to do a grep or a sort or some such command where at least the input and possibly both input and output are files residing on a fileserver. Especially in the case of selection commands, it would be a lot cheaper to run the command on the fileserver, rather than ship the program over via NFS, then read the entire file via NFS, only to select out most of the lines. I would do this using rsh, except that rsh ignores error return codes. Either some other method must be used to determine the success or failure of work assigned to another machine, or I need to get a version of rsh or something similar that passes back the remote machine's return code. Before I spend time rolling my own reliable rsh equivalent, I would like to know if this has already been done. You need not bother telling me about special arrangements made between clients and servers that know about each other, such as client/server model database products; I am aware of their existence and assume that they have solved the problem for themselves. But, what about the good old Unix(TM)-philosophy tool-building approach? You know, small general tools that do one job well, and all that. Replies to the effect that ignoring return codes is also part of the Unix philosophy will be noted and filed in this big archive I have for information that may contain some truth but but serves no constructive purpose. I have RTFM, but I would be most happy if someone wants to tell me how dense I am and point out the method that is already in there. Thanks in advance -- -- Guy Shaw Paralogics paralogics!shaw@uunet.uu.net or uunet!paralogics!shaw