Path: utzoo!utgpu!news-server.csri.toronto.edu!mailrus!cs.utexas.edu!uunet!aplcen!haven!adm!news From: postmaster@sandia.gov (SMTP MAILER) Newsgroups: comp.unix.questions Subject: Mail Delivery Problem Message-ID: <24264@adm.BRL.MIL> Date: 22 Aug 90 16:22:50 GMT Sender: news@adm.BRL.MIL Lines: 705 ----Reason for mail failure follows---- Sending mail to : Could not be delivered for three days. ----Transcript of message follows---- Date: 19 Aug 90 05:22:00 MDT From: info-unix@BRL.MIL Subject: INFO-UNIX Digest V10#121 To: "jnjortn" Return-Path: Received: from SEM.BRL.MIL by sandia.gov with SMTP ; Sun, 19 Aug 90 05:14:44 MDT Received: from SEM.BRL.MIL by SEM.BRL.MIL id ab18802; 19 Aug 90 5:57 EDT Received: from sem.brl.mil by SEM.BRL.MIL id aa18786; 19 Aug 90 5:45 EDT Date: Sun, 19 Aug 90 05:45:27 EST From: The Moderator (Mike Muuss) To: INFO-UNIX@BRL.MIL Reply-To: INFO-UNIX@BRL.MIL Subject: INFO-UNIX Digest V10#121 Message-ID: <9008190545.aa18786@SEM.BRL.MIL> INFO-UNIX Digest Sun, 19 Aug 1990 V10#121 Today's Topics: Minix UUCP/MAIL Permissions Re: get terminal speed from shell script sh -c /usr/ucb/csh -c SCRIPT causes sys ?degradation? Re: Converting to uppercase/lowercase in sed Funny kill -9 behaviour Re: Funny kill -9 behaviour Re: Recursion without -R Re: 8mm Reliability Thanks for the info on mailx docs. Re: non-interactine telnet session USENIX FaceSaver pix Re: extracting files from a tar file Re: Mail Delivery Problem Re: Adding on to the history mechanism How to flush tty input (was Re: Problems with DIGIBOARD PC/4) Re: sort with a tab as separator style, diction: anyone use them ----------------------------------------------------------------- From: Phi-Ho Hoang Subject: Minix UUCP/MAIL Permissions Date: 15 Aug 90 18:52:01 GMT Return-Path: X-Mailer: W-MAIL 3.4/MINIX (05/14/90) To: info-unix@sem.brl.mil Hi, I am trying to set up UUCP under Minix. I have been using uucico manually to send and receive mail because when I put uucico in crontab, lmail complains about permission problem and the result is that the mail box is always empty. Anything received in /usr/spool/uucp is just deleted. Please email me a typical setting of modes, ownerships, setuid's and setgid's for the files and directories in use for UUCP and MAIL. Thank you in advance. Phi-Ho Hoang. ----- root@InSearch.CAM.ORG InSearch - For a better Solution uunet!philmtl!altitude!InSearch.CAM.ORG!root ----------------------------- From: Paul Lew Subject: Re: get terminal speed from shell script Date: 16 Aug 90 00:43:03 GMT To: info-unix@sem.brl.mil bob@wyse.wyse.com (Bob McGowen x4312 dept208) writes: >In article <90Aug12.135618edt.18763@me.utoronto.ca> sun@hammer.me.UUCP (Andy Sun Anu-guest) writes: > >Is there a way to get the terminal speed from a (sh or csh) script? >Of course, this is the Bourne shell, not csh. I cannot vouch for how or if >this is possible with csh. Try: set speed = `(stty speed > /dev/tty) |& cat` Layers of I/O redirections usually can solve these kind of problems. -- Paul Lew (lew@gsg.gsg.com) UUCP: oliveb---+ uunet---samsung--+ General Systems Group, 5 Manor Parkway harvard--+--gsg--lew Salem, NH 03079 (603) 893-1000 decvax---+ ----------------------------- From: Paul Gladden Subject: sh -c /usr/ucb/csh -c SCRIPT causes sys ?degradation? Date: 17 Aug 90 16:36:08 GMT Sender: news@iss-rb.sandiego.ncr.com To: info-unix@sem.brl.mil We are currently developing a application monitoring daemon. When the daemon detects various application milestones it takes an appropriate action. One potential action is to execute a user supplied shell script. I constructed a two line shell script to log the execution into a log file. Problem is the shell script executes for minutes. Several shell scripts executing cause system performance to nose dive. The daemon executes the shell script via a fork() and system() function call. We were prepending the user defined shell from $SHELL into the system() call ie. system("-c \"/usr/ucb/csh -c SCRIPT arg1 arg2 arg3 arc4\"");. I removed the user shell from being passed to the system() function. This masks the problem, not solving the root cause. The shell script: echo `date` >> test.log echo "SMFsh: process action.\n Info = \"$*\"\n" >> test.log The processes in ?error? are preceded by '>' paulg 665 593 0 11:47:22 ttyx013 1:07 stress -c10000 root 661 1 0 11:46:14 ? 1:03 /etc/sysmond paulg 769 661 0 11:54:44 ? 0:00 /etc/sysmond paulg 689 661 0 11:47:53 ? 0:00 /etc/sysmond paulg 690 689 0 11:47:53 ? 0:00 sh -c /usr/ucb/csh -c "./SMFsh / > paulg 691 690 1 11:47:53 ? 0:34 /usr/ucb/csh -c ./SMFsh /test/na paulg 770 769 0 11:54:48 ? 0:00 sh -c /usr/ucb/csh -c "./SMFsh / > paulg 771 770 0 11:54:49 ? 0:55 /usr/ucb/csh -c ./SMFsh /test/na paulg 703 661 0 11:48:13 ? 0:00 /etc/sysmond paulg 704 703 0 11:48:13 ? 0:00 sh -c /usr/ucb/csh -c "./SMFsh / > paulg 705 704 0 11:48:13 ? 0:53 /usr/ucb/csh -c ./SMFsh /test/na paulg 734 661 0 11:49:28 ? 0:00 /etc/sysmond paulg 736 734 0 11:49:28 ? 0:00 sh -c /usr/ucb/csh -c "./SMFsh / > paulg 737 736 1 11:49:30 ? 2:16 /usr/ucb/csh -c ./SMFsh /test/na system: MC680020 Unix 5.3 1. What would cause a two line shell to execute for an excessive period of time? 2. Has anyone encountered this problem before? Paul Gladden NCR CORPORATION E&M San Diego paulg@smokey.sandiego.ncr.com 16650 West Bernardo Drive ucsd!ivory!smokey!paulg San Diego, Ca. 92128 (619) 485-2716 #include ----------------------------- From: Dan_Jacobson@att.com Subject: Re: Converting to uppercase/lowercase in sed Date: 17 Aug 90 22:03:08 GMT Sender: Dan Jacobson To: info-unix@sem.brl.mil merlyn@iwarp.intel.com (Randal Schwartz) writes: >yeah, the not very well documented "y" command. > y/a-z/A-Z/ bzzzzt. Minus 10 points! got to say: y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/ -- Dan_Jacobson@ATT.COM +1-708-979-6364 ----------------------------- From: Jim Harkins Subject: Funny kill -9 behaviour Date: 17 Aug 90 23:37:48 GMT To: info-unix@sem.brl.mil Due to inattention on my part I managed to create a bunch of processes I needed to kill. Rather than typing 'kill -9 number-list', I tried: kill -9 `ps -aug | grep ekg | awk '{print $2}'` To which I was rewarded with `ps -aug | grep ekg | awk '{print $2}'`: ambiguous. After playing around a bit I realized the problem lay with the kill -9, by replacing it with echo I got a list of process numbers. I redirected the ps ... awk output into foo, then tried kill -9 `cat foo` and got `cat foo`: ambiguous. What I want to know is why in the hay does this happen? FYI, I killed the turkeys with a foreach i (`cat foo`) loop in which I kill -9'd the $i's. Also, I'm on a Sun running 4.3 bsd. -- jim jharkins@sagpd1 Iraqnophobia! The talk of the Middle East. Coming soon to a theatre of war near you. ----------------------------- From: Guy Harris Subject: Re: Funny kill -9 behaviour Date: 18 Aug 90 21:27:07 GMT To: info-unix@sem.brl.mil >What I want to know is why in the hay does this happen? Because the C shell is flakier than a snowstorm. To quote the BUGS section of the SunOS 4.0.3 manual page (this quote is also in the S5R4 "csh" manual page): Although robust enough for general use, adventures into the esoteric periphery of the C shell may reveal unexpected quirks. which translates as "the C shell is flakier than a snowstorm." Try doing "/usr/bin/kill `cat /tmp/foo`" instead. "kill" is a C shell builtin; somehow, for *some* but not *all* builtins, that construct seems to confuse the shell. Using the non-built-in "kill" seemed to make the problem go away, at least when I tried it. ----------------------------- From: Chris Torek Subject: Re: Funny kill -9 behaviour Date: 18 Aug 90 23:11:28 GMT To: info-unix@sem.brl.mil In various articles various people ask why kill -9 `some expression` produces `some expression`: Ambiguous The reason is that kill is a C-shell built-in, these people are using the C-shell, and the C-shell is (to an amazingly large extent, given that it `works' for most uses) quite thoroughly broken inside. The kill code expands the backquote expression, finds that it breaks into several words, and complains (instead of iterating over each of the words). This does not happen with kill -9 several words because here the expansion occurs before the built-in kill function. Note that kill *must* be a built-in, since `kill %2' has to convert the `%2' to a `job' (and %n does not normally expand to a list of process IDs, which is the obvious way to do this without a built-in). So: workarounds: eval kill arguments `expression` /bin/kill arguments `expression` The latter runs one more process, does not interpret `%'s, and is dependent on the location of the `kill' program. The former simply causes the backquote expression to be expanded before calling the internal `kill' routine. -- In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (+1 301 454 7163) Domain: chris@cs.umd.edu Path: uunet!mimsy!chris (New campus phone system, active sometime soon: +1 301 405 2750) ----------------------------- From: Stefan Hauser Subject: Re: Recursion without -R Keywords: recursion Date: 17 Aug 90 23:51:52 GMT To: info-unix@sem.brl.mil In article <13595@ulysses.att.com> swfc@ulysses.att.com (Shu-Wie F Chen) writes: >In article <494@llnl.LLNL.GOV>, rjshaw@ramius.ocf.llnl.gov (Robert Shaw) >writes: >|>What are some quick tricks for getting programs like chmod and chown to >|>descend into all subdirectories? Programs without a -R option, that is. >>find . -print | xargs chown foo how about : find . -exec chown foo {} \; i think that should work on all systems, or not ? stefan -- Stefan Hauser | CH-Sargans | EMAIL : etienne@accsys.ccs.imp.com ----------------------------- From: phd_ivo@gsbvxb.uchicago.edu Subject: Re: 8mm Reliability Date: 18 Aug 90 07:06:31 GMT Sender: News Administrator To: info-unix@sem.brl.mil In article <1990Aug16.161652.21233@tijc02.uucp>, cgh018@tijc02.uucp (Calvin Hayden x2254) writes... >How do they compare to 1/2" 9 track, or 1/4" QIC for a purpose >such as this. I also missed the discussion, and am interested in this issue. How probable is it that at least one bit is lost irrecoverably after 2 years from a whole tape? How do the 8mm tapes compare to DAT tapes? And what is the best price/source for either? Thanks for any notes... /ivo welch ivo@next.agsm.ucla.edu ----------------------------- From: Jeff Stuart Subject: Thanks for the info on mailx docs. Date: 18 Aug 90 07:42:00 GMT Sender: jstuart@kentvax.kent.edu Distribtion: world To: info-unix@sem.brl.mil Thanks everyone for the info on mailx. If anyone is interested let me know and I'll send you a summary through email. Jeff Stuart Internet: kentba!jstuart@math-cs.kent.edu Kent State University UUCP : uunet!teleng!telxon!kentba!jstuart Kent, Ohio 44449 (216) 672-3282 #include std.disclaimer -- Jeff Stuart Internet: kentba!jstuart@math-cs.kent.edu Kent State University UUCP : uunet!teleng!telxon!kentba!jstuart Kent, Ohio 44449 (216) 672-3282 #include std.disclaimer ----------------------------- From: WATANABE Katsuhiro Subject: Re: non-interactine telnet session Date: 18 Aug 90 08:57:59 GMT Sender: news@sran124.sra.co.jp To: info-unix@sem.brl.mil In article <1995@xn.LL.MIT.EDU> healey@XN.LL.MIT.EDU (Joseph T. Healey) writes: > Is there any way to invoke a non-interactive telnet session > via a script (preferably csh or sh) ? > > We would like the script to: > > log into the target machine > run an arbitrary number of commands listed in the script > log out of the target machine If we are able to pipe from/into "telnet", you know the rest. When you send command-lines to telnet(to shell of remote site) through pipe, time intervals need to be put between the lines. Naturally, we should wait for prompts. But it is too hard to do in sh/csh. So... how about sleeping? #!/bin/sh remotehost="srava" loginname="katsu" password="neverpeek" (sleep 10 echo "$loginname"; sleep 2 echo "$password"; sleep 10 echo "date"; sleep 2 echo "ls -l"; sleep 3 echo "bc"; sleep 1 echo "for (i = 0; i < 100; i++) j = i * i"; sleep 1 echo "j"; sleep 1 echo "quit"; sleep 1 echo "exit") | telnet "$remotehost" You may add other pipes to last line. Caution: 1. I strongly discourage from using script like this, because it contains the password as plain text. You ought to rewrite it to ask password each start up time, if possible. 2. There is no assurance that it works every time. For example, the first sleeping interval(`sleep 10' in my example) was too short to come up login prompt, it would fail to login. Anyway, it is tiresome to tune intervals after each command invoking. ----____----____ WATANABE Katsuhiro Software Research Associates, Inc. Japan. Not execute, but evaluate. ----------------------------- From: Robert Shaw Subject: USENIX FaceSaver pix Date: 18 Aug 90 12:19:04 GMT Sender: usenet@llnl.llnl.gov To: info-unix@sem.brl.mil Hello, USENIX types... Are the FaceSaver pictures from the last conference (Anaheim) on the net yet? I can't find myself in faces/.... ::= lll-lcc.llnl.gov Just in case somewhere out there knows a secret place to look for shaw.Z Thanx... =============================================================================== rjshaw@ramius.llnl.gov _____ ____ ____ ______ R o b / / / / / / / / / / / -------- / --/ / / / / / / / / / --------------------------- /-- / / / / / / / / S h a w /____/ /_/_/ /_/_/ /_____/ The Cosby's are precisely what's wrong with television today... =============================================================================== ----------------------------- From: "Deven T. Corzine" Subject: Re: extracting files from a tar file Date: 18 Aug 90 16:13:35 GMT To: info-unix@sem.brl.mil > I have a faculty member who has brought a tape with him from a > different site. It is a tar tape and the files were stored using > absolute pathnames. The difficulty is that we don't have the same > file structure names and so when I would try to restore the files, > it fills up the root file structure quickly (we don't keep a whole > lot of space available in that partition). > I was wondering if there are any PD programs that exist or whether > someone has written a script to get around this problem. I could > write a script to extract a file at a time and then move it but its > a hassle trying to maintain the directory structure that the faculty > member has and preserve modification dates. I've also considered > writing a C program using the chroot function and doing a system > call to tar but that seems messy too. Yes, I have written a Perl script to do exactly this. It uses the chroot(2) call, and must run setuid root, but it will setuid back to the real uid after performing the chroot. It appears fairly secure, and it does work. The only real thing you need to be sure of is that tar(1) will run standalone, with NO system libraries available. I wrote and tested the script under SunOS 4.0.3 using Perl 3.0; Sun's /bin/tar does indeed work standalone (doesn't need the shared libraries) so it works. If you have a dynamically compiled one, you might have to statically link it for it to work. The suidperl program is needed to execute the script, but it is in memory when running, so it doesn't need the ability to run standalone. Enough caveats; here's the script. [Can anyone think of a good name for it?] ---- #!/usr/local/bin/suidperl if ($#ARGV != 1) { print STDERR "Usage: $0 \n"; exit 1; } $ENV{'PATH'} = '/bin:/usr/bin'; $tar = $ARGV[0]; $ARGV[1] =~ /(\w+)$/; $dir = $1; if (! -f $tar) { print STDERR "Error: tar file does not exist.\n"; exit 1; } if (-e $dir) { print STDERR "Error: directory must not exist.\n"; exit 1; } if (! -W ".") { print STDERR "Error: No write permission on current directory.\n"; exit 1; } mkdir($dir,0777); chown $<,$(,$dir; system "/bin/cp","/bin/tar",$dir; system "/bin/cp",$tar,"$dir/absolute.tar"; chdir $dir; chroot "."; ($>,$)) = ($<,$(); system "./tar","-xvf","absolute.tar"; unlink "tar"; unlink "absolute.tar"; exit 0; ---- Have fun. Deven -- Deven T. Corzine Internet: deven@rpi.edu, shadow@pawl.rpi.edu Snail: 2214 12th St. Apt. 2, Troy, NY 12180 Phone: (518) 271-0750 Bitnet: deven@rpitsmts, userfxb6@rpitsmts UUCP: uunet!rpi!deven Simple things should be simple and complex things should be possible. -- Deven T. Corzine Internet: deven@rpi.edu, shadow@pawl.rpi.edu Snail: 2214 12th St. Apt. 2, Troy, NY 12180 Phone: (518) 271-0750 Bitnet: deven@rpitsmts, userfxb6@rpitsmts UUCP: uunet!rpi!deven Simple things should be simple and complex things should be possible. ----------------------------- From: "Alan H. Mintz" Subject: Re: Mail Delivery Problem Date: 18 Aug 90 21:43:40 GMT To: info-unix@sem.brl.mil In article <24208@adm.BRL.MIL>, postmaster@sandia.gov (SMTP MAILER) writes: > > ----Reason for mail failure follows---- > Sending mail to : > Could not be delivered for three days. > > ----Transcript of message follows---- ...followed by a trace and a copy of INFO-UNIX digest. Am I missing something or should this bounce back to BRL.MIL, not this group ? Seems like we see this a couple times a month. -- < Alan H. Mintz | Voice +1 714 980 1034 > < Micro-Quick Systems, Inc. | FAX +1 714 944 3995 > < 10384 Hillside Road | uucp: ...!uunet!mq!alan > < Alta Loma, CA 91701 USA | Internet: alan@MQ.COM > ----------------------------- From: Art Neilson Subject: Re: Adding on to the history mechanism Date: 18 Aug 90 19:40:16 GMT To: info-unix@sem.brl.mil In article <24882@boulder.Colorado.EDU> anthony@lyra.Colorado.EDU (Anthony Veale) writes: >Hello, world, > >I have a programming task that I set myself and I need a bit of advice on how >to integrate this thing into my environment. Here's a brief on what I want to >do. > >I want to add on to UNIX the only good thing that I have found under VMS. >(My work forces my choice of operating system.) Namely, the VMS equivalent of >the history mechanism. For those who aren't familiar with it, you type Up- >arrows and Down-arrows to scroll through the history list and you can insert >and delete characters anywhere on the command line. Gee, sounds like ksh, or tcsh, or bash ... There *really* are shells available which do command line editing. Why not just get one of them ??? -- Arthur W. Neilson III | ARPA: art@pilikia.pegasus.com Bank of Hawaii Tech Support | UUCP: uunet!ucsd!nosc!pegasus!pilikia!art ----------------------------- From: Guy Harris Subject: How to flush tty input (was Re: Problems with DIGIBOARD PC/4) Date: 18 Aug 90 22:02:05 GMT Followup-To: comp.unix.questions To: info-unix@sem.brl.mil (Generic UNIX issue, not Xenix-specific) >On a related topic, is there anyway to flush typeahead in Xenix?? I am >using the Xenix equivalent of cbreak() (by setting various flags with >ioctl()). fflush(stdin) doesn't seem to work, although it doesn't return >an error code. The term "flush" has, unfortunately, (at least) a couple of meanings. (We shall ignore those such as "a hand of cards of the same suit", for instance. :-)) It's used to mean "taking all buffered output on an output stream - i.e., output that's been buffered up but not written to the file or device - and writing it to the file or device". It's also used to mean "taking all buffered input on an input stream and throwing it away". The first of those two meanings is the meaning of "flush" in "fflush". *Some* C implementations will give it the second meaning in some sense (S5R3 and some or all earlier S5 releases, I think), but others don't (BSD). The ANSI C spec doesn't specify that, and older C language "specifications" didn't either. In addition, in the S5R3 implementation (and probably others that use it to throw away input), it only throws away input that the C buffered I/O routines (sometimes called the "standard I/O library") have buffered, *NOT* input that, say, a device driver has buffered. To throw away input that the terminal driver has buffered, you can, in newer UNIXes, do: ioctl(fd, TCFLSH, 0) where "fd" is the file descriptor for the terminal. In this case, you can do either "fileno(stdin)", or just 0 (which is almost certainly the result of "fileno(stdin)", although if you work hard enough I think you can make it non-zero - you probably haven't had any reason to do that, though). In older UNIXes, you may be able to use the TIOCFLUSH "ioctl", or may have to do a TIOCGETP "ioctl" followed by a TIOCSETP "ioctl" with the state from TIOCGETP. If your Xenix is other than a creaky old one, it should have TCFLSH, though. ----------------------------- From: Doug Gwyn Subject: Re: sort with a tab as separator Date: 19 Aug 90 02:22:15 GMT To: info-unix@sem.brl.mil In article <1990Aug17.185300.159@midway.uchicago.edu> phd_ivo@gsbacd.uchicago.edu writes: >I just figured out that it is my shell that actually translates tabs into >spaces. So, now I need a way to quote a tab (no, quotation marks or >backslash quoting don't work)... So get a real shell: $ echo ' ' | od -c 0000000 \t \n 0000002 $ ----------------------------- From: phd_ivo@gsbvxb.uchicago.edu Subject: Re: sort with a tab as separator Date: 19 Aug 90 04:09:28 GMT Sender: News Administrator To: info-unix@sem.brl.mil In article <13617@smoke.BRL.MIL>, gwyn@smoke.BRL.MIL (Doug Gwyn) writes... +So get a real shell: + $ echo ' ' | od -c + 0000000 \t \n On a NeXT improved csh (and presumably on some other shells), the following works: sort -t\^V^I that is, the tab must be quoted twice: once with the backslash, and then with the ^V (control-V) to not substitute spaces. Once you know this, it is no big deal, of course. /ivo welch ivo@next.agsm.ucla.edu ----------------------------- From: "Richard L. Goerwitz" Subject: style, diction: anyone use them Date: 19 Aug 90 04:41:50 GMT Sender: News Administrator To: info-unix@sem.brl.mil Does anyone actually use style and diction. Diction has a nice little display, and allows easy fix-ups. The dict.d file, though, could be extended in a number of ways (does anyone have a good dict.d file?). Style, though, seems only to report opaque word- lengths, and various statistics on parts of speech and sentence- type. In terms of basic, Strunk & White-type help with writing, it seems to be of minimal use. I wonder: Has anyone actually gotten some good mileage out of style? If so, could he or she perhaps offer some guidance? -Richard ----------------------------- End of INFO-UNIX Digest ***********************