From: Simon Ruderich Date: Fri, 5 Jul 2013 16:13:53 +0000 (+0200) Subject: lib.sh: Cleanup. X-Git-Url: https://ruderich.org/simon/gitweb/?a=commitdiff_plain;h=44b49211da2749d45e358448c9768cb671142b93;p=config%2Fdotfiles.git lib.sh: Cleanup. --- diff --git a/lib.sh b/lib.sh index 70aefbe..204a8e9 100644 --- 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.