【问题标题】:How do I unset a variable in the fish shell?如何取消设置鱼壳中的变量?
【发布时间】:2015-08-22 14:34:54
【问题描述】:

在 bash 中,我可以使用

取消设置变量
unset myvar

在鱼我得到

fish: Unknown command 'unset'

鱼中未设置的等价物是什么。

【问题讨论】:

    标签: fish


    【解决方案1】:

    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'
    

    【讨论】:

    • 请注意,该函数将无法擦除局部变量,因为它启动了一个新的变量范围。将--no-scope-shadowing 添加到函数定义以解决此问题。
    • 添加了一个缩写方法和一个funcsave,所以unset 函数仍然存在。
    猜你喜欢
    • 2018-05-24
    • 2023-03-19
    • 2019-06-15
    • 2022-07-05
    • 1970-01-01
    • 1970-01-01
    • 2010-12-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多