Explorar el Código
Merge pull request #1036 from zachriggle/pwd-changes
Fix $PWD changes when executing Python
pull/1051/head
Yamashita, Yuu
hace 8 años
cometido por
GitHub
No se encontró ninguna clave conocida en la base de datos para esta firma
ID de clave GPG: 4AEE18F83AFDEB23
Se han
modificado 4 ficheros con
18 adiciones y
13 borrados
-
libexec/pyenv
-
libexec/pyenv-hooks
-
libexec/pyenv-versions
-
plugins/python-build/bin/python-build
|
|
|
@ -36,9 +36,10 @@ else |
|
|
|
} |
|
|
|
|
|
|
|
abs_dirname() { |
|
|
|
local cwd="$PWD" |
|
|
|
local path="$1" |
|
|
|
|
|
|
|
# Use a subshell to avoid changing the current path |
|
|
|
( |
|
|
|
while [ -n "$path" ]; do |
|
|
|
cd "${path%/*}" |
|
|
|
local name="${path##*/}" |
|
|
|
@ -46,7 +47,7 @@ else |
|
|
|
done |
|
|
|
|
|
|
|
pwd |
|
|
|
cd "$cwd" |
|
|
|
) |
|
|
|
} |
|
|
|
fi |
|
|
|
|
|
|
|
@ -72,11 +73,13 @@ fi |
|
|
|
|
|
|
|
if [ -z "${PYENV_DIR}" ]; then |
|
|
|
PYENV_DIR="$PWD" |
|
|
|
else |
|
|
|
cd "$PYENV_DIR" 2>/dev/null || abort "cannot change working directory to \`$PYENV_DIR'" |
|
|
|
PYENV_DIR="$PWD" |
|
|
|
cd "$OLDPWD" |
|
|
|
fi |
|
|
|
|
|
|
|
if [ ! -d "$PYENV_DIR" ] || [ ! -e "$PYENV_DIR" ]; then |
|
|
|
abort "cannot change working directory to \`$PYENV_DIR'" |
|
|
|
fi |
|
|
|
|
|
|
|
PYENV_DIR=$(cd "$PYENV_DIR" && echo "$PWD") |
|
|
|
export PYENV_DIR |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -37,10 +37,10 @@ resolve_link() { |
|
|
|
} |
|
|
|
|
|
|
|
realpath() { |
|
|
|
local cwd="$PWD" |
|
|
|
local path="$1" |
|
|
|
local name |
|
|
|
|
|
|
|
# Use a subshell to avoid changing the current path |
|
|
|
( |
|
|
|
while [ -n "$path" ]; do |
|
|
|
name="${path##*/}" |
|
|
|
[ "$name" = "$path" ] || cd "${path%/*}" |
|
|
|
@ -48,7 +48,7 @@ realpath() { |
|
|
|
done |
|
|
|
|
|
|
|
echo "${PWD}/$name" |
|
|
|
cd "$cwd" |
|
|
|
) |
|
|
|
} |
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
@ -44,10 +44,11 @@ if ! enable -f "${BASH_SOURCE%/*}"/pyenv-realpath.dylib realpath 2>/dev/null; th |
|
|
|
} |
|
|
|
|
|
|
|
realpath() { |
|
|
|
local cwd="$PWD" |
|
|
|
local path="$1" |
|
|
|
local name |
|
|
|
|
|
|
|
# Use a subshell to avoid changing the current path |
|
|
|
( |
|
|
|
while [ -n "$path" ]; do |
|
|
|
name="${path##*/}" |
|
|
|
[ "$name" = "$path" ] || cd "${path%/*}" |
|
|
|
@ -55,7 +56,7 @@ if ! enable -f "${BASH_SOURCE%/*}"/pyenv-realpath.dylib realpath 2>/dev/null; th |
|
|
|
done |
|
|
|
|
|
|
|
echo "${PWD}/$name" |
|
|
|
cd "$cwd" |
|
|
|
) |
|
|
|
} |
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
@ -60,9 +60,10 @@ resolve_link() { |
|
|
|
} |
|
|
|
|
|
|
|
abs_dirname() { |
|
|
|
local cwd="$(pwd)" |
|
|
|
local path="$1" |
|
|
|
|
|
|
|
# Use a subshell to avoid modifying the current path |
|
|
|
( |
|
|
|
while [ -n "$path" ]; do |
|
|
|
cd "${path%/*}" |
|
|
|
local name="${path##*/}" |
|
|
|
@ -70,7 +71,7 @@ abs_dirname() { |
|
|
|
done |
|
|
|
|
|
|
|
pwd |
|
|
|
cd "$cwd" |
|
|
|
) |
|
|
|
} |
|
|
|
|
|
|
|
capitalize() { |
|
|
|
|