gpt4 book ai didi

zsh - 在要获取的脚本中更改 zsh 的 $path 变量

转载 作者:行者123 更新时间:2023-12-04 15:58:24 30 4
gpt4 key购买 nike

我继承了一个 zsh 脚本,它为一些模拟设置了一堆环境变量。它想编辑 $path 变量,以便可以找到一些 perl 脚本:

typeset -U path
path=( ${SIMENV_BIN} $path )

但是,当我获取脚本( source setup.source )时, $path 变量保持不变。如果我将这些行复制粘贴到命令提示符,它们会更新 $path。如果我在脚本中添加 'echo's 并再次获取它,那么 typeset 命令似乎会清除 $path 变量。

有人介意向我解释发生了什么,我该如何解决?

最佳答案

默认情况下,typeset 命令使用提供的名称创建一个新变量,该变量是当前函数的局部变量,因此当函数返回时对该变量的更改将丢失。添加 -g选项:

typeset -gU path

这将阻止本地化变量。

关于zsh - 在要获取的脚本中更改 zsh 的 $path 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1208831/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com