安装gvm后普通用户模式下无法使用cd切换目录
安装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就可以正常使用了。
相关文章:
安装gvm后普通用户模式下无法使用cd切换目录
安装gvm后普通用户模式下无法使用cd切换目录 今天装完gvm后发现无法使用cd来切换目录了。。。 1.使用type cd命令发现cd命令被定义为了函数 usrusr-pc:~$ type cd cd 是函数 cd () { if __gvm_is_function __gvm_oldcd; then__gvm_oldcd $*;fi;local dot_go_version dot_go_…...
Pyspark学习二:快速入门基本数据结构
写在前面:实际工作中其实不需要自己安装和配置,更重要的是会用。所以就不研究怎么安装配置了。 前面介绍过:简单来说,Spark是一款分布式的计算框架,用于调度成百上千的服务器集群,计算TB、PB乃至EB级别的海…...
Vue中虚拟DOM创建到挂载的过程
Vue中虚拟DOM创建到挂载的过程 流程概括下来基本上就是:模板 → AST → render函数 → 虚拟节点 → 挂载 AST:抽象语法树,它用于记录原始代码中所有的关键信息,根据AST可以将代码从一种语言转化为另一种语言。 虚拟DOM创建到挂载…...
选择网上购物系统要看几方面?
随着电子商务的迅猛发展,选择一个合适的网上购物系统已成为许多企业成功的关键。无论是初创企业还是已经成熟的公司,选择合适的购物系统都能显著提升用户体验、提高销售额和优化运营效率。本文将从几个重要方面探讨选择网上购物系统时需要考虑的关键因素…...
C++进阶知识复习 31~38
目的 写这一系列文章的目的主要是为了秋招时候应对计算机基础问题能够流畅的回答出来 (如果不整理下 磕磕绊绊的回答会被认为是不熟悉) 本文章题目的主要来源来自于 面试鸭 部分面试鸭上没有而牛客网上有的博主会进行查缺补漏 题目编号按照面试鸭官网…...
定制开发开源AI智能名片S2B2C商城小程序:技术赋能商业价值实现路径研究
摘要 在数字经济与社交新零售蓬勃发展的背景下,本研究聚焦"定制开发开源AI智能名片S2B2C商城小程序"这一创新技术解决方案,通过解析其技术架构、功能模块及业务应用场景,探讨其如何支持企业目标达成、补充技术栈短板、实现数据整合…...
美关税加征下,Odoo免费开源ERP如何助企业破局?
近期,美国特朗普政府推行的关税政策对全球供应链和进出口企业造成巨大冲击,尤其是依赖中美贸易的企业面临成本激增、利润压缩和合规风险。在此背景下,如何通过数字化转型优化管理效率、降低运营成本成为企业生存的关键。本文以免费开源ERP系统…...
高级:高并发架构面试题深度解析
一、引言 在现代互联网应用开发中,高并发架构设计是确保系统在高负载下仍能稳定、高效运行的关键。面试官通过相关问题,考察候选人对高并发系统设计的理解、架构模式的掌握以及在实际项目中解决问题的能力。本文将深入剖析高并发系统的设计原则、常见的…...
Unity中 JobSystem使用整理
Unity 的JobSystem允许创建多线程代码,以便应用程序可以使用所有可用的 CPU 内核来执行代码,这提供了更高的性能,因为您的应用程序可以更高效地使用运行它的所有 CPU 内核的容量,而不是在一个 CPU 内核上运行所有代码。 可以单独使…...
洛谷 P1032 [NOIP 2002 提高组] 字串变换
【题目链接】 洛谷 P1032 [NOIP 2002 提高组] 字串变换 【题目考点】 1. 广搜 2. 双向广搜 【解题思路】 解空间树中每个结点包含的状态为一个字符串s,该结点的子结点中的字符串为字符串s通过变换规则可以变化而成的字符串。求从起始字符串变换为最终字符串的…...
Python Websockets库深度解析:构建高效的实时Web应用
引言 在现代Web开发中,实时通信已经成为许多应用的核心需求。无论是聊天应用、在线游戏、金融交易平台还是协作工具,都需要服务器和客户端之间建立持久、双向的通信通道。传统的HTTP协议由于其请求-响应模式,无法有效满足这些实时交互需求。…...
42.C++11-右值引用与移动语义/完美转发
⭐上篇文章:41.C哈希6(哈希切割/分片/位图/布隆过滤器与海量数据处理场景)-CSDN博客 ⭐本篇代码:c学习/22.C11新特性的使用 橘子真甜/c-learning-of-yzc - 码云 - 开源中国 (gitee.com) ⭐标⭐是比较重要的部分 目录 一. 右值引用…...
LeetCode题二:判断回文
查阅资料我得到的结果远没有大佬们的做法更省时间,而且还很麻烦 我的代码(完整): class Solution:def isPalindrome(self, x: int) -> bool:# 若 x 为负数,由于负数不可能是回文数,直接返回 Falseif x < 0:return False# …...
[王阳明代数讲义]琴语言类型系统工程特性
琴语言类型系统工程特性 层展物理学组织实务与艺术与琴生生.物机.械科.技工.业研究.所软凝聚态物理开发工具包社会科学气质砥砺学人生意气场社群成员魅力场与心气微积分社会关系力学 意气实体过程图论信息编码,如来码导引 注意力机制道装Transformer架构的发展标度律…...
问题:tomcat下部署eureka双重路径
开发时在tomcat下启动eureka服务 客户端注册时需要地址需要注意 http://localhost:8761/eureka/eureka 后面一个eureka与tomcat context-path有关系按实际配置替换 如果不想要两个path可将tomcat context-path写为 / 建议使用 / 避免出现其他问题 如图...
JUC系列JMM学习之随笔
JUC: JUC 是 Java 并发编程的核心工具包,全称为 Java Util Concurrent,是 java.util.concurrent 包及其子包的简称。它提供了一套强大且高效的并发编程工具,用于简化多线程开发并提高性能。 CPU核心数和线程数的关系:1核处理1线程(同一时间单次) CPU内核结构: 工作内…...
React(九)React Hooks
初识Hook 我们到底为什么需要hook那? 函数组件类组件存在问题 函数组件存在的问题: import React, { PureComponent } from reactfunction HelloWorld2(props) {let message"Hello world"// 函数式组件存在的缺陷:// 1.修改message之后&a…...
PyTorch嵌入层(nn.Embedding)
在 PyTorch 中,nn.Embedding 层(即 model.user_embedding)除了 .weight 这个核心属性外,还有其他属性和方法。以下是完整的解析: 1. 主要属性 (1) weight(核心参数) 作用:存储所有…...
AIGC7——AIGC驱动的视听内容定制化革命:从Sora到商业化落地
引言:个性化视听时代的到来 2024年,OpenAI发布视频生成模型Sora,可生成60秒高清视频;中国团队推出的Vidu模型实现16秒镜头连贯生成。这些突破标志着AIGC正式进入高质量视听内容定制化阶段。据Gartner预测,到2027年&am…...
接上文,SpringBoot的线程池配置以及JVM监控
接上篇文章, 拿SpringBoot举个例 1.1 默认线程池的隐患 Spring Boot的Async默认使用SimpleAsyncTaskExecutor(无复用线程),频繁创建/销毁线程易引发性能问题。 1.2 自定义线程池配置 Configuration EnableAsync public class A…...
《AI大模型应知应会100篇》加餐篇:LlamaIndex 与 LangChain 的无缝集成
加餐篇:LlamaIndex 与 LangChain 的无缝集成 问题背景:在实际应用中,开发者常常需要结合多个框架的优势。例如,使用 LangChain 管理复杂的业务逻辑链,同时利用 LlamaIndex 的高效索引和检索能力构建知识库。本文在基于…...
部署大模型实战:如何巧妙权衡效果、成本与延迟?
目录 部署大模型实战:如何巧妙权衡效果、成本与延迟? 一、为什么要进行权衡? 二、权衡的三个关键维度 三、如何进行有效权衡?(实操策略) (一)明确需求场景与优先级 (…...
元素三大等待
硬性等待(强制等待) 线程休眠,强制等待 Thread.sleep(long millis);这是最简单的等待方式,使用time.sleep()方法来实现。在代码中强制等待一定的时间,不论元素是否已经加载完成,都会等待指定的时间后才继…...
【DY】信息化集成化信号采集与处理系统;生物信号采集处理系统一体机
MD3000-C信息化一体机生物信号采集处理系统 实验平台技术指标 01、整机外形尺寸:1680mm(L)*750mm(w)*2260mm(H); 02、实验台操作面积:750(w)*1340(L)(长*宽); 03、实验台面离地高度…...
康谋分享 | 仿真驱动、数据自造:巧用合成数据重构智能座舱
随着汽车向智能化、场景化加速演进,智能座舱已成为人车交互的核心承载。从驾驶员注意力监测到儿童遗留检测,从乘员识别到安全带状态判断,座舱内的每一次行为都蕴含着巨大的安全与体验价值。 然而,这些感知系统要在多样驾驶行为、…...
YOLO学习笔记 | 基于YOLOv5的车辆行人重识别算法研究(附matlab代码)
基于YOLOv5的车辆行人重识别算法研究 🥥🥥🥥🥥🥥🥥🥥🥥🥥🥥🥥🥥🥥🥥 摘要 本文提出了一种基于YOLOv5的车辆行人重识别(ReID)算法,结合目标检测与特征匹配技术,实现高效的多目标跟踪与识别。通过引入注意力机制、优化损失函数和轻量化网络结构…...
Vue 数据传递流程图指南
今天,我们探讨一下 Vue 中的组件传值问题。这不仅是我们在日常开发中经常遇到的核心问题,也是面试过程中经常被问到的重要知识点。无论你是初学者还是有一定经验的开发者,掌握这些传值方式都将帮助你更高效地构建和维护 Vue 应用 目录 1. 父…...
Node.js 与 MySQL:深入理解与高效实践
Node.js 与 MySQL:深入理解与高效实践 引言 随着互联网技术的飞速发展,Node.js 作为一种高性能的服务端JavaScript运行环境,因其轻量级、单线程和事件驱动等特点,受到了广大开发者的青睐。MySQL 作为一款开源的关系型数据库管理系统,以其稳定性和可靠性著称。本文将深入…...
鸿蒙NEXT开发缓存工具类(ArkTs)
import { ObjectUtil } from ./ObjectUtil;/*** 缓存工具类** 该类提供了一组静态方法,用于操作缓存数据。* 主要功能包括:获取缓存数据、存储缓存数据、删除缓存数据、检查键是否存在、判断缓存是否为空以及清空缓存。** author CSDN-鸿蒙布道师* since…...
【C语言】strstr查找字符串函数
一、函数介绍 strstr 是 C 语言标准库 <string.h> 中的字符串查找函数,用于在主字符串中查找子字符串的首次出现位置。若找到子串,返回其首次出现的地址;否则返回 NULL。它是处理字符串匹配问题的核心工具之一。 二、函数原型 char …...
