Я определил вложенную функцию в моем .zshrc
, надеясь определить несколько похожих zsh функций:
makefunc_gman () {
local MAN_SEC_LIST=(1 2 3 4 5 6 7 8)
for GMAN_SEC in ${MAN_SEC_LIST}
do
"gman${GMAN_SEC}" () {
gdir_C "$1" "man${GMAN_SEC}"
}
done
}
makefunc_gman # calls the function
- Функции, которые я хотел определить выше:
gman1
, * От 1007 * до gman8
. - Я хочу получить функцию с именем
gman1
, которая после получения этой функции вызывает gdir_C "$1" man1
. gdir_C
в коде - это другая функция, определенная в .zshrc
.
Но когда я получил .zshrc
, where gman1
дал мне это:
$ where gman1
gman1 () {
local MAN_GMAN_SEC="man${GMAN_SEC}"
gdir_C "$1" "man${GMAN_SEC}"
}
Казалось, что переменная $GMAN_SEC
в этой вложенной функции не раскрывается. Как получить переменную для правильного расширения? Спасибо!