Wie deaktiviere ich eine Variable in der Fischschale?

77

In Bash kann ich eine Variable mit deaktivieren

unset myvar

In Fisch bekomme ich

fish: Unknown command 'unset'

Was ist das Äquivalent für nicht eingestellte Fische.

J0hnG4lt
quelle

Antworten:

117

Fish verwendet Optionen für den setBefehl, um Shell-Variablen zu bearbeiten.

Deaktivieren Sie eine Variable mit der Option -eoder --erase.

set -e myvar 

Zusätzlich können Sie eine Funktion definieren

function unset
  set --erase $argv
end

funcsave unset

oder eine Abkürzung

abbr --add unset 'set --erase'

oder ein Alias ​​in ~/.config/fish/config.fish

alias unset 'set --erase'
J0hnG4lt
quelle
3
Beachten Sie, dass die Funktion lokale Variablen nicht löschen kann, da ein neuer Variablenbereich gestartet wird. Fügen Sie --no-scope-shadowingder Funktionsdefinition hinzu, um dies zu beheben.
Faho
Es wurde eine Abkürzungsmethode hinzugefügt und a, funcsavedamit die unsetFunktion erhalten bleibt.
Elijah Lynn