如何在Fish Shell中取消设置变量?

113
在Bash中,我可以使用以下命令取消设置一个变量:
unset myvar

在鱼类中,我得到了

fish: Unknown command 'unset'

在 fish 中 unset 的等效命令是什么?

1个回答

179

使用set命令的选项来操作shell变量。

使用-e--erase选项取消设置一个变量。

set -e myvar 

此外,您可以定义一个函数

function unset
  set --erase $argv
end

funcsave unset

或者缩写

abbr --add unset 'set --erase'

或者在~/.config/fish/config.fish中设置别名

alias unset 'set --erase'

4
请注意,该函数无法删除局部变量,因为它会启动一个新的变量作用域。在函数定义中添加“--no-scope-shadowing”以解决此问题。 - faho
添加了一个缩写方法和一个funcsave,以便unset函数保留。 - Elijah Lynn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接