選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

31 行
870 B

  1. PROTOTYPE_SOURCE_SHIM_PATH="${SHIM_PATH}/.pyenv-source-shim"
  2. shims=()
  3. shopt -s nullglob
  4. for shim in $(cat "${BASH_SOURCE%/*}/source.d/"*".list" | sort | uniq | sed -e 's/#.*$//' | sed -e '/^[[:space:]]*$/d'); do
  5. if [ -n "${shim##*/}" ]; then
  6. shims[${#shims[*]}]="${shim})return 0;;"
  7. fi
  8. done
  9. shopt -u nullglob
  10. eval "source_shim(){ case \"\${1##*/}\" in ${shims[@]} *)return 1;;esac;}"
  11. cat > "${PROTOTYPE_SOURCE_SHIM_PATH}" <<SH
  12. [ -n "\$PYENV_DEBUG" ] && set -x
  13. export PYENV_ROOT="${PYENV_ROOT}"
  14. program="\$("$(command -v pyenv)" which "\${BASH_SOURCE##*/}")"
  15. if [ -e "\${program}" ]; then
  16. . "\${program}" "\$@"
  17. fi
  18. SH
  19. chmod +x "${PROTOTYPE_SOURCE_SHIM_PATH}"
  20. shopt -s nullglob
  21. for shim in "${SHIM_PATH}/"*; do
  22. if source_shim "${shim}"; then
  23. cp "${PROTOTYPE_SOURCE_SHIM_PATH}" "${shim}"
  24. fi
  25. done
  26. shopt -u nullglob
  27. rm -f "${PROTOTYPE_SOURCE_SHIM_PATH}"