Я свободно использую set -l
/set --local
в своих скриптах для рыбы, поэтому я решил создать для него псевдоним. Имя local
кажется подходящим. К сожалению, очевидный подход не работает:
function local
set -l $argv
end
Это не удается, потому что, конечно же, создаваемая переменная является локальной для самой функции local
. Использование alias
также не работает, так как это просто (возможно, устаревшее) сокращение для вышеуказанной функции.
Есть ли способ создать локальную переменную в области вызова, не делая ничего более сложного, чем local foo 'bar'
? Очевидно, я мог бы заставить что-то вроде eval (local foo 'bar')
работать, но это как бы противоречит цели. Я открыт для любых уловок или хаков, которые заставят эту работу работать, если таковые существуют.