Что я закончил, выполнение устанавливало HISTFILESIZE
к 0 в .bashrc
файл, как Drav Sloan сказал в комментариях.
[...]
HISTFILESIZE=0
[...]
То же самое происходит в более простой форме:
function trythis
set -x foo bar
end
Если вы сейчас запустите Trythis
и ECHO $ foo
, он тоже не устанавливается. Это потому, что Fish's -x
само по себе не изменяет объем переменной, которая по умолчанию локальная к функции, если она уже не существует во всем мире или универсально.
Попробуйте:
eval (echo 'set -gx FOO 1;')
где G
для глобального. Это делает переменную работу как обычный POSIX EXPORT
значение ED. Интересно, что он работает так же с Eval
, поскольку он будет только с простой набором
; Если вы используете эту строку SANS g
прямо на командной строке $ foo
, поэтому EVAL
и замена процесса ()
Не ввел новый объем или подставку, а при выполнении этого способа в функции применяется объем функции.
Вам нужно будет дать присваимую команду Set
. Без этого область по умолчанию локально для функции. См. Раздел «Рыб» Рыбное раздел на переменные среды для правил по умолчанию для переменной Scoping
Попробуйте SET -GX FOO
.