如何在鱼壳中取消设置变量?


77

在bash中,我可以使用

unset myvar

在鱼里我得到

fish: Unknown command 'unset'

什么是未凝固的鱼?

Answers:


117

Fish使用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'

3
请注意,该函数将无法删除局部变量,因为它会启动新的变量作用域。添加--no-scope-shadowing到函数定义中以解决此问题。
faho

添加了一个缩写方法和a,funcsave因此该unset功能始终存在。
Elijah Lynn
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.