Як зняти змінну в риб'ячій оболонці?


80

У bash я можу зняти змінну за допомогою

unset myvar

У рибі я отримую

fish: Unknown command 'unset'

Що еквівалентно невстановленому в рибі

Відповіді:


122

Fish використовує параметри setкоманди для маніпулювання змінними оболонки.

Видаліть змінну параметром -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

Додано метод абревіатури, funcsaveтому unsetфункція залишається навколо.
Елайджа Лінн,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.