Bash: variável padrão com substituição de comando

2

Existe alguma maneira de realizar o seguinte em um único golpe usando o Bash?

my_var=${$(grep -E '^setting_1' /settings.conf):-default_setting1}

Em oposição a:

my_var=$(grep -E '^setting_1' /settings.conf); my_var=${my_var:-default_setting}

    
por Gregg Leventhal 11.02.2016 / 17:29

1 resposta

0

Você pode produzir o padrão se o grep falhar:

var=$( grep -e '^setting_1' || echo default_setting )

Note que você não fechou as aspas (e sem o argumento file, o grep irá filtrar o stdin).

    
por 11.02.2016 / 17:44