nifty little shell/perl scripts
Mike Cuddy
mcuddy at rutabaga.Rational.COM
Wed Apr 3 13:58:32 AEST 1991
Here are two scripts that I use on our systems here:
the first one, lpphist, summarizes the output of lslpp listing only the
last entry for a given lpp (presumably the most useful.. ;-).
the second script mkmotd a perl script outputs a simple line using information
from lslpp and lpphist (it assumes that lpphist is in your path):
AIX 1.3 on oztotl (1763000) (bos.obj: 03.01.0002.0015 on 03/18/91 by root)
I put this in /etc/motd -- mostly because I like sun's little banner
that they put there ;-)
If anybody finds these useful, great, if not, oh well ;-)
--Mike Cuddy
"...He's a UNIX hack and he's okay, he works all night and he sleeps all day..."
Well, where I come from, we have a saying: "If you're not going to grab the
bull by the horns while the iron is in the fire, then get off the pot."
(There are a lot of chemicals in the water where I come from.) -- Dave Barry
---- cut ---- cut --- ---- cut ---- cut --- ---- cut ---- cut ---
#!/bin/sh
# This is a shell archive.
# Run the following text with /bin/sh to extract.
sed -e 's/^X//' << \EOFMARK > mkmotd
X#!/usr/local/bin/perl
X#
X# mkmotd - gather a bit of information for /etc/motd.
X#
X$uname = `uname -a`; chop $uname; # get uname info and clobber newline
X$hist = `lpphist bos.obj`; chop $hist;
X($foo, $foo, $foo, $date, $level, $who) = split(" ",$hist);
X($os, $node, $major, $minor, $hostid) = split(" ",$uname);
X$hostid =~ s/^0*//;
Xprint
X "$os $major.$minor on $node ($hostid) (bos.obj: $level on $date by $who)\n";
EOFMARK
sed -e 's/^X//' << \EOFMARK > lpphist
X#!/bin/csh -f
X# lpp history summary. finds the latest history for the installed lpp's
X# uses lslpp -c -h -q for input.
X#
X# usage: lpphist [ lppnames ]
X#
Xlslpp -c -h -q $argv | awk -F: '\
X { if ($1 != "") { \
X if (lpp != "") { \
X printf("%-20s %-10s %-10s %-9s %15s %s\n",\
X lpp, state, event, date, release, user); \
X } \
X lpp = $1; \
X } \
X state = $2; event = $3; date = $4; \
X release = $5; user = $6; \
X }\
X END {\
X printf("%-20s %-10s %-10s %-9s %15s %s\n",\
X lpp, state, event, date, release, user); \
X } '
EOFMARK
More information about the Comp.unix.aix
mailing list