英文介绍做美食视频网站网页设计制作网站模板
安装gvm后普通用户模式下无法使用cd切换目录
今天装完gvm后发现无法使用cd来切换目录了。。。
1.使用type cd
命令发现cd
命令被定义为了函数
usr@usr-pc:~$ type cd
cd 是函数
cd ()
{ if __gvm_is_function __gvm_oldcd; then__gvm_oldcd $*;fi;local dot_go_version dot_go_pkgset rslt;local defaults_go_name defaults_go_pkgset;local defaults_resolved=false;local defaults_hash;defaults_hash=();if [[ "$GVM_ROOT" == "" ]]; thendisplay_error "GVM_ROOT not set. Please source \$GVM_ROOT/scripts/gvm";return $?;fi;[[ "${GVM_DEBUG}" -eq 1 ]] && echo "Resolving defaults...";defaults_hash=($(__gvm_read_environment_file "${GVM_ROOT}/environments/default"));if [[ $? -eq 0 ]]; thendefaults_resolved=true;else[[ "${GVM_DEBUG}" -eq 1 ]] && echo "Can't find default environment. Falling back to system.";defaults_hash=($(__gvm_read_environment_file "${GVM_ROOT}/environments/system"));if [[ $? -eq 0 ]]; thendefaults_resolved=true;else[[ "${GVM_DEBUG}" -eq 1 ]] && echo "Can't find system environment.";fi;fi;if [[ "${defaults_resolved}" == false ]]; then[[ "${GVM_DEBUG}" -eq 1 ]] && echo "Resolving fallback go version and pkgset from all available.";local fallback_go_version="$(__gvm_resolve_fallback_version)";local fallback_go_pkgset="$(__gvm_resolve_fallback_pkgset "${fallback_go_version}")";[[ "${GVM_DEBUG}" -eq 1 ]] && echo "=======================================";[[ "${GVM_DEBUG}" -eq 1 ]] && echo "fallback_go_version => $fallback_go_version";[[ "${GVM_DEBUG}" -eq 1 ]] && echo "fallback_go_pkgset => $fallback_go_pkgset";[[ "${GVM_DEBUG}" -eq 1 ]] && echo "=======================================";defaults_hash=($(setValueForKeyFakeAssocArray "gvm_go_name" "${fallback_go_version}" "${defaults_hash[*]}"));defaults_hash=($(setValueForKeyFakeAssocArray "gvm_pkgset_name" "${fallback_go_pkgset}" "${defaults_hash[*]}"));unset fallback_go_version;unset fallback_go_pkgset;defaults_resolved=true;fi;defaults_go_name="$(valueForKeyFakeAssocArray "gvm_go_name" "${defaults_hash[*]}")";defaults_go_pkgset="$(valueForKeyFakeAssocArray "gvm_pkgset_name" "${defaults_hash[*]}")";[[ "${GVM_DEBUG}" -eq 1 ]] && echo "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++";[[ "${GVM_DEBUG}" -eq 1 ]] && echo "defaults_go_name => $defaults_go_name";[[ "${GVM_DEBUG}" -eq 1 ]] && echo "defaults_go_pkgset => $defaults_go_pkgset";[[ "${GVM_DEBUG}" -eq 1 ]] && echo "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++";if [[ "${GVM_DEBUG}" -eq 1 ]]; thenecho "Resolved default go: ${defaults_go_name:-[EMPTY]}";echo "Resolved default pkgset: ${defaults_go_pkgset:-[EMPTY]}";fi;dot_go_version="$(__gvmp_find_closest_dot_go_version)";rslt=$?;[[ "${GVM_DEBUG}" -eq 1 ]] && echo "---------------------------------------";[[ "${GVM_DEBUG}" -eq 1 ]] && echo "dot_go_version => $dot_go_version";[[ "${GVM_DEBUG}" -eq 1 ]] && echo "defaults_go_name => $defaults_go_name";[[ "${GVM_DEBUG}" -eq 1 ]] && echo "---------------------------------------";if [[ $rslt -eq 0 ]]; then[[ "${GVM_DEBUG}" -eq 1 ]] && echo "Found dot_go_version: ${dot_go_version}";local use_goversion="$(__gvmp_read_dot_go_version "${dot_go_version}")";[[ "${GVM_DEBUG}" -eq 1 ]] && echo "Switching to: ${use_goversion}";gvm use "${use_goversion}" || return 1;unset use_goversion;elseif [[ -n "${defaults_go_name}" ]]; then[[ "${GVM_DEBUG}" -eq 1 ]] && echo "No .go-version found. Using system or default go.";elseif [[ "${GVM_DEBUG}" -eq 1 ]]; thenecho "No fallback go version could be found.";if [[ ! -d "$GVM_ROOT/archive/go" ]]; thenecho "$(locale_text_for_key "go_install_prompt")";fi;fi;return 0;fi;fi;dot_go_pkgset="$(__gvmp_find_closest_dot_go_pkgset)";rslt=$?;[[ "${GVM_DEBUG}" -eq 1 ]] && echo "--------------------------------";[[ "${GVM_DEBUG}" -eq 1 ]] && echo "dot_go_pkgset => $dot_go_pkgset";[[ "${GVM_DEBUG}" -eq 1 ]] && echo "--------------------------------";if [[ $rslt -eq 0 ]]; then[[ "${GVM_DEBUG}" -eq 1 ]] && echo "Found .go-pkgset: ${dot_go_pkgset}";local use_gopkgset="$(__gvmp_read_dot_go_pkgset "${dot_go_pkgset}")";[[ "${GVM_DEBUG}" -eq 1 ]] && echo "Switching to: ${use_gopkgset}";gvm pkgset use "${use_gopkgset}" || return 1;unset use_gopkgset;elseif [[ -n "${defaults_go_pkgset}" ]]; then[[ "${GVM_DEBUG}" -eq 1 ]] && echo "No .go-pkgset found. Using system or default pkgset.";[[ "${GVM_DEBUG}" -eq 1 ]] && echo "---------- defaults_go_pkgset => $defaults_go_pkgset ----------";else[[ "${GVM_DEBUG}" -eq 1 ]] && echo "No fallback pkgset could be found.";fi;fi;return 0
}
正常情况下使用cd
命令应该输出如下结果:
2.因为cd
被定义为函数,故可通过 unset 删除该函数
unset -f cd # 删除函数定义,恢复内建命令
然后cd
就可以正常使用了。