Disabled debugging output
Fine-grained checks for possible errors instead of "set -e"
The standard output shows what is being linked to what
diff --git a/install.sh b/install.sh
index 1ca7183..8cfae37 100755
--- a/install.sh
+++ b/install.sh
@@ -1,7 +1,5 @@
 #!/bin/sh
 
-set -e
-set -x
 prefix=$1
 if [ "$prefix" = "" ]; then
     echo "No installation directory, aborting."
@@ -15,13 +13,13 @@
 h=`sort busybox.links | uniq`
 
 
-rm -f $prefix/bin/busybox
-mkdir -p $prefix/bin
-install -m 755 busybox $prefix/bin/busybox
+rm -f $prefix/bin/busybox || exit 1
+mkdir -p $prefix/bin || exit 1
+install -m 755 busybox $prefix/bin/busybox || exit 1
 
 for i in $h ; do
 	appdir=`dirname $i`
-	mkdir -p $prefix/$appdir
+	mkdir -p $prefix/$appdir || exit 1
 	if [ "$2" = "--hardlinks" ]; then
 	    bb_path="$prefix/bin/busybox"
 	else
@@ -44,8 +42,8 @@
 		;;
 	    esac
 	fi
-	echo "  $prefix$i -> /bin/busybox"
-	ln $linkopts $bb_path $prefix$i
+	echo "  $prefix$i -> $bb_path"
+	ln $linkopts $bb_path $prefix$i || exit 1
 done
 
 exit 0