Как сделать devtoolset g++ доступным для Makefile в docker's centos7?

También tiene un alias en functons.shcon 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 xfooenf1:

$ source f1
$ source f2
$ shopt -s extdebug
$ declare -F foo
foo 1 f1

El manual bashtambién incluye el texto

Aliases are confusing in some uses.

bajo el encabezado "FALLOS".

2
19.07.2019, 07:42
1 ответ

Согласно комментариям и моему собственному опыту работы с Docker, каждая строка RUNзапускается в отдельной среде оболочки, поэтому, когда вы создаете среду в одной строке RUN, эта среда недоступна для других RUNкоманды.

Использование строки RUN source scl_source enable devtoolset-7 && cd /home/admin/${APP_NAME}/nginx-base/cplusplus && make version && makeвместо предыдущей команды RUNгарантирует, что текущая среда настроена для команды make.

2
27.01.2020, 22:16

Теги

Похожие вопросы