Solaris doesn't support readlink so use greadlink if available instead.

Taken from Ryan Tomayko's "GNU is killing Solaris", c.f. http://tomayko.com/writings/gnu-is-killing-solaris
This commit is contained in:
Paul Mucur 2011-08-16 22:26:57 +01:00
parent 49ecbe147f
commit b7e19b4953
2 changed files with 10 additions and 2 deletions

View file

@ -1,6 +1,10 @@
#!/usr/bin/env bash
set -e
resolve_link() {
$(type -p greadlink readlink | head -1) $1
}
abs_dirname() {
local cwd="$(pwd)"
local path="$1"
@ -8,7 +12,7 @@ abs_dirname() {
while [ -n "$path" ]; do
cd "${path%/*}"
local name="${path##*/}"
path="$(readlink "$name" || true)"
path="$(resolve_link "$name" || true)"
done
pwd

View file

@ -12,6 +12,10 @@ if [ -z "$shell" ]; then
shell="$(basename "$SHELL")"
fi
resolve_link() {
$(type -p greadlink readlink | head -1) $1
}
abs_dirname() {
local cwd="$(pwd)"
local path="$1"
@ -19,7 +23,7 @@ abs_dirname() {
while [ -n "$path" ]; do
cd "${path%/*}"
local name="${path##*/}"
path="$(readlink "$name" || true)"
path="$(resolve_link "$name" || true)"
done
pwd