También tiene un alias en functons.sh
con el mismo nombre que una función en su otro archivo.
Enfunctons.sh
:
alias zzz=sz
Enz.sh
:
zzz () {
df -h
}
Esto confunde bash
.
Ejemplo:
$ cat f1
foo () { echo hello; }
alias xfoo=foo
$ cat f2
xfoo () { echo beep; }
$ source f1
$ source f2
$ shopt -s extdebug
$ declare -F foo
foo 1 f2
Sin el alias xfoo
enf1
:
$ source f1
$ source f2
$ shopt -s extdebug
$ declare -F foo
foo 1 f1
El manual bash
también incluye el texto
Aliases are confusing in some uses.
bajo el encabezado "FALLOS".
Согласно комментариям и моему собственному опыту работы с Docker, каждая строка RUN
запускается в отдельной среде оболочки, поэтому, когда вы создаете среду в одной строке RUN
, эта среда недоступна для других RUN
команды.
Использование строки RUN source scl_source enable devtoolset-7 && cd /home/admin/${APP_NAME}/nginx-base/cplusplus && make version && make
вместо предыдущей команды RUN
гарантирует, что текущая среда настроена для команды make
.