BANNERDIR="/var/lib/banner/"
# egrep regexp
EXCLUDEFILES="(rpmnew$|rpmsave$|~$)"
-
+STDOUT="1" # stdout by default
+#STDOUT="2" # stderr by default
# config paramaeters
##########################
NEW_BANNER=""
NEW_SHOW=0
+case $STDOUT in
+ [1-9]) ;;
+ *) STDOUT="1" ;;
+esac
+
#################################################### FUNCTIONS ########
Usage()
--all - all banners
--delete - delete wanted banners
-e
---exclude - exclude following banners (usefull with -a)
+--exclude - exclude following banners (useful with -a)
-h
---help - shows this help
+--help - show this help
-i
---include - cancels effect of -e (EXCLUDED banners will remain excluded)
+--include - cancel effect of -e (EXCLUDED banners will remain excluded)
-m
---make - makes a brand-new banner named as following para [1] (from stdin)
+--make - make a brand-new banner named as following parameter [1] (from stdin)
-M - same as above, but append if file exists
-n
---names - shows names of the banners
---newer - all choosen banners should be newer than following para in seconds
---older - all choosen banners should be older than following para in seconds
+--names - show names of the banners
+--newer - all choosen banners should be newer than following parameter in seconds
+--older - all choosen banners should be older than following parameter in seconds
-s
---show - shows wanted banners
+--show - show wanted banners
+--stderr - send banner to stderr instead of stdout (or other)
+--stdout - send banner to stdout instead of stderr (or other)
-u
---usage - shows short help
+--usage - show short help
[1] - if there will be no slash ('/') in name then config dir will be used,
else -- specified.
EOF
Help
}
-check_banner_name()
-{
- echo "$1"|sed 's,.*/,,'
-}
+
check_banners_mtime()
{
BANNERS="$1"
{
BANNER="$1"
SHOW="$2"
- mkdir -p $(echo $BANNER|sed 's,/[^/]*$,,')
+ if [ ! -d "${BANNER%/*}" ]; then
+ mkdir -p "${BANNER%/*}"
+ fi
+ data=$(cat)
if [ $NEW_APPEND -eq 0 ]; then
- cat > $BANNER
+ echo "$data" > $BANNER
else
- cat >> $BANNER
+ echo "$data" >> $BANNER
fi
if [ $SHOW -eq 1 ];then
- cat $BANNER
+ echo "$data"
fi
}
show_banner()
{
- cat $BANNERDIR/$1
+ cat $BANNERDIR/$1 >&$STDOUT
}
show_banners()
{
;;
-m|--make|-M)
NEED_BANNER_LIST=0
- if [ "$(check_banner_name $2)" == "$2" ]; then
- NEW_BANNER=$BANNERDIR/$(check_banner_name "$2")
+ if [[ $2 != */* ]]; then
+ NEW_BANNER="$BANNERDIR/${2##*/}"
else
NEW_BANNER="$2"
fi
NEW_SHOW=1
ACTION="show"
;;
+ --stdout)
+ STDOUT="1"
+ ;;
+ --stderr)
+ STDOUT="2"
+ ;;
-u|--usage)
Usage
exit 0
;;
*)
if [ $EXCLUDE_FLAG -eq 0 ];then
- BANNERS="$BANNERS $(check_banner_name $1)"
+ BANNERS="$BANNERS ${1##*/}"
else
- NOBANNERS="$NOBANNERS $(check_banner_name $1)"
+ NOBANNERS="$NOBANNERS ${1##*/}"
fi
;;
esac