Почему здесь не работают строки в Make-файлах, использующие Bash?

В zsh установите параметр histignorespace ( установите -o histignorespace ). И в bash добавьте ignorespace или ignoreboth (некоторые дистрибутивы уже делают это по умолчанию ~ / .bashrc ) в $ HISTCONTROL или установите HISTIGNORE = '*' , а затем вы можете запустить текущую команду с <пробел> , чтобы избежать ее записи.

:
 : none
fc -nl -1

:

В zsh вы все еще можете вспомнить эту предыдущую команду один раз, но она не сохраняется в истории.

2
22.05.2018, 14:50
2 ответа
/bin/sh: 1: Syntax error: redirection unexpected

significa que no está usando bash como shell, a pesar de sus expectativas de lo contrario. bash como shreconoce aquí cadenas bien (, por lo que su Makefilefuncionaría en Fedora ), pero por ejemplo, dash como shno lo hace. A menos que se indique lo contrario, Make usa /bin/shcomo su shell; ignora su shell de usuario predeterminado.

Configuración

SHELL=/bin/bash

en vuestro Makefiledebería arreglaros las cosas; al menos, lo hace para mí en un sistema que muestra los mismos síntomas que el suyo.

P.S.: Yes, sometimes I feel autotools would be the better choice over make.

Autotools y Make no abordan los mismos problemas; son complementarios, y usar Autotools aún significaría usar Make...

5
27.01.2020, 21:50

Como puede ver en el mensaje de error, el shell que invoca makeno es bashsino /bin/sh. shgeneralmente no entiende aquí -cadenas.

Si configura la variable makeSHELLen/bin/bash(o cualquiera que sea la ruta para ese shell en su sistema ), usará bashen lugar de sh.

Ver también la documentación GNU makerelevante sobre esto enhttps://www.gnu.org/software/make/manual/html_node/Choosing-the-Shell.html

4
27.01.2020, 21:50

Теги

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