]> ruderich.org/simon Gitweb - config/dotfiles.git/blobdiff - lib.sh
*: License under GPL v3+.
[config/dotfiles.git] / lib.sh
diff --git a/lib.sh b/lib.sh
index 1862444f7f560fd9b6eb1922da19423b01459fc0..95c2fdf5c83efdc37212468d00e8f4c837ca7ac8 100644 (file)
--- a/lib.sh
+++ b/lib.sh
@@ -2,6 +2,21 @@
 #
 # Their setup.sh script sources this file.
 
+# Copyright (C) 2009-2013  Simon Ruderich
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
 
 # csh gives the error "Unknown colorls variable `su'." when used with newer
 # options supported by Zsh or GNU ls.
@@ -11,11 +26,7 @@ unset LS_COLORS
 # Check if the given program is installed. Returns 0 if it exists, 1
 # otherwise; so it can be used in if.
 installed() {
-    # Thanks to Rado in #awk on Freenode (2010-03-29 01:34) for the END tip to
-    # also work with empty stdin, and to prince_jammys in #awk on Freenode
-    # (2010-03-29 02:20) for a shorter syntax for "$0 !~".
-    which $1 2>&1 | awk '{ if (!/^\//) exit 1 }
-                         END { if (NR == 0) exit 1 }'
+    [ x`which $1 2>&1 | cut -c 1` = x/ ] || return 1
 }
 
 # Print the current OS. The following OS are supported at the moment:
@@ -23,6 +34,7 @@ installed() {
 # - Gentoo (gentoo)
 # - Mac OS X (darwin)
 # - Solaris/OpenSolaris (sun)
+# - FreeBSD (freebsd)
 # If an unsupported OS is used an error is printed.
 os() {
     if [ -f /etc/debian_version ]; then
@@ -33,6 +45,8 @@ os() {
         echo darwin
     elif [ x`uname` = xSunOS ]; then
         echo sun
+    elif [ x`uname` = xFreeBSD ]; then
+        echo freebsd
     else
         echo unsupported OS! >&2
         return 1