Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 25 Aug 2003 11:02:55 -0700
From:      Joshua Oreman <oremanj@get-linux.org>
To:        freebsd-questions@FreeBSD.org
Cc:        questions@freebsd.org
Subject:   Re: motd question
Message-ID:  <20030825180255.GB8753@webserver>
In-Reply-To: <20030825163744.GA61150@keyslapper.org>
References:  <20030825163744.GA61150@keyslapper.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Aug 25, 2003 at 12:37:44PM -0400 or thereabouts, Louis LeBlanc wrote:
> Probably not possible, but I was wondering (and have for some time,
> though I can't find any info on it either way) whether /etc/motd is
> strictly a text in/text out file, or if there is a way to get it to
> execute a command, the output of which is to be included in the text
> output?

You could make it a FIFO and put a Perl script or something at the
other end, if you want dynamically-generated output. For example:
--snip--
#!/usr/bin/env perl
use constant FILE => "/etc/motd";
use POSIX qw/setsid mkfifo/;

# Comment these if you want it to run in foreground:
exit 0 if fork;
setsid;

while (1) {
	unless (-p FILE) {
		unlink FILE;
		mkfifo FILE, 0644;
	}

	my $fortune_msg;

	open FORTUNE, "/usr/bin/env fortune |" or die "Can't open pipe from fortune: $!\n";
	$fortune_msg .= $_ while <FORTUNE>;
	close FORTUNE;

	open FIFO, ">".FILE or die "Can't open ".FILE." for writing: $!\n";
	print FIFO $fortune_msg;
	close FIFO;

	sleep 2;
}
--snip--
would generate a `fortune' message every time someone read motd. Run it like so:
# /path/to/fortunemotd.pl

Note that this script will *DELETE YOUR EXISTING MOTD*... back it up first.

If you want to use this for something else, for example a .signature, change
the `use constant FILE => <<the-file-goes-here-in-quotes>>' line.

If you have two (or more) of these things running, it can produce unexpected results.
Be careful.

-- Josh

> 
> TIA
> Lou
> -- 
> Louis LeBlanc               leblanc@keyslapper.org
> Fully Funded Hobbyist, KeySlapper Extrordinaire :)
> http://www.keyslapper.org                     ԿԬ
> 
> Make it right before you make it faster.
> _______________________________________________
> freebsd-questions@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe@freebsd.org"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030825180255.GB8753>