diff --git a/app/Console/cake b/app/Console/cake index 52db45ff6..ca3e57ca3 100755 --- a/app/Console/cake +++ b/app/Console/cake @@ -17,22 +17,21 @@ # @license MIT License (http://www.opensource.org/licenses/mit-license.php) # ################################################################################ -if [[ `uname` =~ 'Darwin' ]]; then - ME=$0 -else - ME=$(readlink -f $0) -fi -LIB=$(cd -P -- "$(dirname -- "$ME")" && pwd -P) && LIB=$LIB/$(basename -- "$ME") -while [ -h "$LIB" ]; do - DIR=$(dirname -- "$LIB") - SYM=$(readlink "$LIB") - LIB=$(cd "$DIR" && cd $(dirname -- "$SYM") && pwd)/$(basename -- "$SYM") -done +# Canonicalize by following every symlink of the given name recursively +canonicalize() { + NAME=$1 + while [ -h "$NAME" ]; do + DIR=$(dirname -- "$NAME") + SYM=$(readlink "$NAME") + NAME=$(cd "$DIR" && cd $(dirname -- "$SYM") && pwd)/$(basename -- "$SYM") + done + echo "$NAME" +} -LIB=$(dirname -- "$LIB")/ -APP=$(dirname $(cd $(dirname $ME) && pwd)) +CONSOLE=$(dirname $(canonicalize "$0")) +APP=$(dirname "$CONSOLE") -exec php -q "$LIB"cake.php -working "$APP" "$@" +exec php -q $CONSOLE/cake.php -working "$APP" "$@" exit; diff --git a/lib/Cake/Console/Templates/skel/Console/cake b/lib/Cake/Console/Templates/skel/Console/cake index 447743d0b..ca3e57ca3 100644 --- a/lib/Cake/Console/Templates/skel/Console/cake +++ b/lib/Cake/Console/Templates/skel/Console/cake @@ -10,24 +10,28 @@ # Licensed under The MIT License # Redistributions of files must retain the above copyright notice. # -# @copyright Copyright 2005-2012, Cake Software Foundation, Inc. -# @link http://cakephp.org CakePHP(tm) Project -# @package app.Console -# @since CakePHP(tm) v 2.0 -# @license MIT License (http://www.opensource.org/licenses/mit-license.php) +# @copyright Copyright 2005-2012, Cake Software Foundation, Inc. +# @link http://cakephp.org CakePHP(tm) Project +# @package app.Console +# @since CakePHP(tm) v 2.0 +# @license MIT License (http://www.opensource.org/licenses/mit-license.php) # ################################################################################ -LIB=$(cd -P -- "$(dirname -- "$0")" && pwd -P) && LIB=$LIB/$(basename -- "$0") -while [ -h "$LIB" ]; do - DIR=$(dirname -- "$LIB") - SYM=$(readlink "$LIB") - LIB=$(cd "$DIR" && cd $(dirname -- "$SYM") && pwd)/$(basename -- "$SYM") -done +# Canonicalize by following every symlink of the given name recursively +canonicalize() { + NAME=$1 + while [ -h "$NAME" ]; do + DIR=$(dirname -- "$NAME") + SYM=$(readlink "$NAME") + NAME=$(cd "$DIR" && cd $(dirname -- "$SYM") && pwd)/$(basename -- "$SYM") + done + echo "$NAME" +} -LIB=$(dirname -- "$LIB")/ -APP=`pwd` +CONSOLE=$(dirname $(canonicalize "$0")) +APP=$(dirname "$CONSOLE") -exec php -q "$LIB"cake.php -working "$APP" "$@" +exec php -q $CONSOLE/cake.php -working "$APP" "$@" exit; diff --git a/lib/Cake/Console/cake b/lib/Cake/Console/cake index fbef004b1..d3ae6b885 100755 --- a/lib/Cake/Console/cake +++ b/lib/Cake/Console/cake @@ -17,17 +17,21 @@ # @license MIT License (http://www.opensource.org/licenses/mit-license.php) # ################################################################################ -LIB=$(cd -P -- "$(dirname -- "$0")" && pwd -P) && LIB=$LIB/$(basename -- "$0") -while [ -h "$LIB" ]; do - DIR=$(dirname -- "$LIB") - SYM=$(readlink "$LIB") - LIB=$(cd "$DIR" && cd $(dirname -- "$SYM") && pwd)/$(basename -- "$SYM") -done +# Canonicalize by following every symlink of the given name recursively +canonicalize() { + NAME=$1 + while [ -h "$NAME" ]; do + DIR=$(dirname -- "$NAME") + SYM=$(readlink "$NAME") + NAME=$(cd "$DIR" && cd $(dirname -- "$SYM") && pwd)/$(basename -- "$SYM") + done + echo "$NAME" +} -LIB=$(dirname -- "$LIB")/ +CONSOLE=$(dirname $(canonicalize "$0")) APP=`pwd` -exec php -q "$LIB"cake.php -working "$APP" "$@" +exec php -q $CONSOLE/cake.php -working "$APP" "$@" exit;