Поскольку мне нравится использовать описательные имена параметров, я часто пытался использовать имена переменных, уже используемые самим Zsh.
Поскольку в прошлом у меня возникли проблемы, я теперь обернул свой сценарий в main функция, названная в честь скрипта.Затем я объявляю все свои локальные параметры с помощью ключевого слова local
.
Но некоторые параметры, кажется, не позволяют скрыть их в локальной области видимости:
function foo
{
local commands=(bar baz)
local status=0
echo ${(F)commands}
echo $status
}
Здесь локальный commands
параметр используется вместо специального.
Но так как параметр status
только для чтения, я получил следующую ошибку:
zdm: 6: только для чтенияпеременная: status
Я думаю, что ключевое слово local
позволяет использовать специальный параметр в локальной области видимости, но оно не меняет способ его объявления.