* Added workaround for systems without agrep using awk.
[grml-tips.git] / grml-tips
index 8d5e91a..7742578 100755 (executable)
--- a/grml-tips
+++ b/grml-tips
@@ -4,25 +4,38 @@
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
 # License:       This file is licensed under the GPL v2.
-# Latest change: Mit Nov 01 12:02:06 CET 2006 [mika]
+# Latest change: Sam Nov 11 20:01:35 CET 2006 [mika]
 ################################################################################
 
 TIPSFILE='/usr/share/grml-tips/grml_tips'
 
-# another approach:
-# awk 'BEGIN { RS = "-- " } /$1/' $TIPSFILE
+if ! [ -r "$TIPSFILE" ] ; then
+   echo "Error: $TIPSFILE not found. Exiting." >&2
+   exit 1
+fi
 
-if [ -r "$TIPSFILE" ] ; then
+if [ -x /usr/bin/agrep ] ; then
+   if [ -n "$1" ] ; then
+     agrep -d "^-- $" -i "$1" $TIPSFILE && echo "" || \
+     ( echo "Sorry, could not find a tip for '$1'. :-(" >&2
+       echo 'If you want to submit a tip please mail it to tips@grml.org - thank you!' >&2
+       exit 1 )
+   else
+     echo "Usage: $0 <keyword>" >&2 ; exit 1
+   fi
+else # workaround solution for systems without agrep :-/
   if [ -n "$1" ] ; then
-    agrep -d "^-- $" -i "$1" $TIPSFILE && echo "" || \
-    ( echo "Sorry, could not find a tip for '$1'"
-      echo 'If you want to submit a tip please send it to tips@grml.org - thank you!' )
+     TIP=$(awk "BEGIN { RS = \"-- \" } /$1/" "$TIPSFILE")
+     if [ -n "$TIP" ] ; then
+        echo "$TIP"
+     else
+        echo "Sorry, could not find a tip for '$1'. :-(" >&2
+        echo 'If you want to submit a tip please mail it to tips@grml.org - thank you!' >&2
+        exit 1
+     fi
   else
-    echo "Usage: $0 <keyword>" ; exit 1
+    echo "Usage: $0 <keyword>" >&2 ; exit 1
   fi
-else
-  echo "Error: $TIPSFILE not found. Exiting."
-  exit 1
 fi
 
 ## END OF FILE #################################################################