home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Unix System Administration Handbook 1997 October
/
usah_oct97.iso
/
news
/
cnews.tar
/
readnews
/
postnews
< prev
next >
Wrap
Text File
|
1995-04-27
|
2KB
|
112 lines
#! /bin/sh
# postnews - post news article
# =()<. ${NEWSCONFIG-@<NEWSCONFIG>@}>()=
. ${NEWSCONFIG-/etc/news/bin/config}
oldpath="$PATH"
newpath=$NEWSCTL/bin:$NEWSBIN:$NEWSPATH
PATH=$newpath
export PATH
umask 077 # private
tmp=/tmp/pn$$
tmpcopy=/tmp/pnc$$
term="rm -f $tmp $tmpcopy ; trap 0 ; exit 0"
trap "$term" 0 1 2
if test " $VISUAL" != " "
then
edit="$VISUAL"
elif test " $EDITOR" != " "
then
edit="$EDITOR"
else
edit=/bin/ed
fi
newline='
'
case "$1" in
'') if test -r $NEWSCTL/postdefltgroup
then
defg="`cat $NEWSCTL/postdefltgroup`"
dprompt=" [$defg]"
else
defg=
dprompt=
fi
ans=
while test " $ans" = " "
do
echo "Newsgroup(s)$dprompt? " | tr -d "$newline"
read ans
case "$ans" in
'') if test " $defg" != " "
then
ans="$defg"
fi
;;
esac
done
echo "Newsgroups: $ans" >$tmp
;;
-h) cat $2 >$tmp
;;
*) echo "Newsgroups: $1" >$tmp
;;
esac
case "$1" in
-h) ;;
*) subj=
while test " $subj" = " "
do
echo 'Subject: ' | tr -d "$newline"
read subj
done
echo "Subject: $subj" >>$tmp
if test -r $NEWSCTL/postdefltdist
then
echo "Distribution: `cat $NEWSCTL/postdefltdist`" >>$tmp
fi
;;
esac
echo >>$tmp
echo "REPLACE THIS LINE WITH YOUR TEXT (leave the preceding blank line alone)" >>$tmp
cp $tmp $tmpcopy
trap : 2
PATH="$oldpath"
$edit $tmp
PATH=$newpath
trap "$term" 2
while cmp -s $tmp $tmpcopy
do
echo 'This posting does not appear to have been edited properly.'
echo 'Abandon it [y] ? ' | tr -d "$newline"
read ans
case "$ans" in
''|y*|Y*)
rm -f $tmp
exit 0
;;
esac
echo 'Editing again... Please check it over carefully.'
trap : 2
PATH="$oldpath"
$edit $tmp
PATH=$newpath
trap "$term" 2
done
echo 'Posting...'
$NEWSBIN/inject/inews -h <$tmp