aboutsummaryrefslogtreecommitdiff
path: root/realpath/realpath.sh
diff options
context:
space:
mode:
Diffstat (limited to 'realpath/realpath.sh')
-rwxr-xr-xrealpath/realpath.sh18
1 files changed, 18 insertions, 0 deletions
diff --git a/realpath/realpath.sh b/realpath/realpath.sh
new file mode 100755
index 0000000..de4d964
--- /dev/null
+++ b/realpath/realpath.sh
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+# is there a realiable cross-platform was to do this without relying on compiling C code?
+
+DIR=$(dirname $(readlink "$0") 2>/dev/null || dirname "$0" 2>/dev/null )
+which realpath 2>&1 > /dev/null
+REALPATH_INSTALLED=$?
+
+if [ ! $REALPATH_INSTALLED -eq 0 ]; then
+ if [ ! -f $DIR/realpath ]; then
+ >&2 echo "Compiling realpath"
+ gcc $DIR/realpath.c -o $DIR/realpath
+ chmod u+x $DIR/realpath
+ fi
+ $DIR/realpath $1
+else
+ realpath $1
+fi