Existe uma maneira elegante de definir uma variável shell para o conteúdo de um arquivo?

11

Digamos que eu tenha alguns dados de configuração em um arquivo config . Por conveniência, gostaria de carregar esses dados em uma variável do shell, CONFIG_DATA .

Obviamente eu posso fazer:

CONFIG_DATA="$(cat config)"

Mas isso parece um uso inútil de cat para mim. Esta é a única maneira de fazer isso? Ou há uma maneira mais elegante de fazer isso?

As respostas devem preferir o POSIX, mas podem usar qualquer shell.

    
por strugee 13.12.2016 / 03:51

1 resposta

23

No Bash e no shell Z, pelo menos, há uma maneira mais rápida:

CONFIG_DATA=$(<config)

Para citar a página do manual do shell do Bourne Again:

The command substitution $(cat file) can be replaced by the equivalent but faster $(< file).

    
por 13.12.2016 / 03:57