shell - 如何在鱼壳中擦除通用范围内的变量集?
问题描述
我使用命令将 GOROOT 设置为通用变量
set -x -U GOROOT /usr/local/go
现在导致问题,我希望它取消设置,我确实尝试使用set -e GOROOT
和其他一些东西擦除,但是如果我开始一个新会话它仍然存在,那么只有那个特定的 shell 会话才会被擦除,有人可以帮我解决这个问题,我对鱼来说相对较新。
的输出set --show GOROOT
是:
$GOROOT: set in global scope, exported, with 1 elements
$GOROOT[1]: |/usr/local/go/bin/go|
解决方案
set -e
将擦除最低范围内的变量。
由于该变量既是通用的又是导出的,因此您还从父进程继承了一个全局副本,并且全局范围低于通用范围。
因此,您需要将其擦除两次(一次用于全局,一次用于通用),或者明确指定范围:
set -e -U GOROOT
推荐阅读
- .htaccess - Apache proxy redirect rule for other domain and fallback to original
- phpstorm - PhpStorm 远程主机面板不显示远程服务器上的最新文件
- java - 关于 Spring-boot-starter-data-jpa 的一个问题
- php - 棘轮 - 我如何在点击时发送消息
- android - 大厅座位布局设计安卓
- java - 使用阻塞队列的对象池在死锁中运行
- mysql - MYSQL - 将数据存储为枚举数值是否比存储具有完整值的数据更好?
- jquery - 为什么 $('.myClass').on("input propertychange", function() {}) 总是在 $(document).on("input propertychange", ".myClass", function() {)) 之前调用?
- swift - 二元运算符 '+=' 不能应用于类型的操作数。
- wpf - Popup 中的 ItemsControl 复制了添加的第一个项目