]> ruderich.org/simon Gitweb - config/dotfiles.git/commitdiff
lib.sh: Cleanup.
authorSimon Ruderich <simon@ruderich.org>
Fri, 5 Jul 2013 16:13:53 +0000 (18:13 +0200)
committerSimon Ruderich <simon@ruderich.org>
Fri, 5 Jul 2013 16:13:53 +0000 (18:13 +0200)
lib.sh

diff --git a/lib.sh b/lib.sh
index 70aefbe48592edd5249b3a0182e135f67e3c2721..204a8e9f95a2e695c4822682f85de7bf6cb1727c 100644 (file)
--- a/lib.sh
+++ b/lib.sh
@@ -58,15 +58,15 @@ installed_path() {
 # - FreeBSD (freebsd)
 # If an unsupported OS is used an error is printed.
 os() {
-    if [ -f /etc/debian_version ]; then
+    if test -f /etc/debian_version; then
         echo debian
-    elif [ -f /etc/gentoo-release ]; then
+    elif test -f /etc/gentoo-release; then
         echo gentoo
-    elif [ x`uname` = xDarwin ]; then
+    elif test x`uname` = xDarwin; then
         echo darwin
-    elif [ x`uname` = xSunOS ]; then
+    elif test x`uname` = xSunOS; then
         echo sun
-    elif [ x`uname` = xFreeBSD ]; then
+    elif test x`uname` = xFreeBSD; then
         echo freebsd
     else
         echo unsupported OS! >&2
@@ -80,6 +80,8 @@ os() {
 # `./link.sh example ~/.examplerc` creates a symbolic link to example
 # (wherever it is located) in ~/ named .examplerc.
 link() {
+    local pwd base source target >/dev/null 2>&1 || true
+
     # Get all necessary paths.
     pwd=`pwd`
     base=`echo "$2" | sed "s|\~|$HOME|"` # expand ~, some sh don't do it
@@ -92,14 +94,14 @@ link() {
 
     # Abort if the target file exists and is no symbolic link. Prevents
     # overwriting real files.
-    if [ \( -f "$target" -a ! -h "$target" \) -o \
-         \( -s "$target" -a ! -h "$target" \) ]; then
+    if ( test -f "$target" && test ! -h "$target" ) || \
+            ( test -s "$target" && test ! -h "$target" ); then
         echo "link(): target '$target' exists already and is no symbolic link!" >&2
         exit 1
     fi
 
     # Make sure the source exists (is file, directory or link).
-    if [ ! -f "$source" -a ! -d "$source" -a ! -h "$source" ]; then
+    if test ! -f "$source" && test ! -d "$source" && test ! -h "$source"; then
         echo "link(): source '$source' doesn't exist!" >&2
         exit 1
     fi
@@ -111,8 +113,6 @@ link() {
 
     # Go back to the directory where we were before.
     cd "$pwd"
-
-    unset pwd base source target
 }
 
 # Write a warning to $1 to make clear it should not be modified. $2 is the
@@ -129,7 +129,7 @@ warning() {
     # Display given options if there were any (Zsh has a problem with $options
     # as variable name).
     option=
-    if [ -n "$4" ]; then
+    if test -n "$4"; then
         option=" with options '$4'"
     fi
     # Write message to stdout.
@@ -159,11 +159,11 @@ generate() {
 
     # Set extension for the used commands. When cat is used $3 is used as
     # extension.
-    if [ x"$command" = xm4 ]; then
+    if test x"$command" = xm4; then
         extension=.m4
-    elif [ x"$command" = xawk -o x"$command" = xperl ]; then
+    elif test x"$command" = xawk -o x"$command" = xperl; then
         extension=.in
-    elif [ x"$command" = xcat ]; then
+    elif test x"$command" = xcat; then
         extension="$1" # is $3 in reality, $1 because of shifting
         shift
     # Print a warning and exit if an unsupported command is used.