Executando uma lista de comandos em linhas distintas com bash -c?

Executando uma lista de comandos em linhas distintas com bash -c?

Passo uma lista de comandos para um script bash por meio de uma variável de ambiente conforme mostrado no exemplo abaixo:

CMDS='
    date > date.txt
    cat date.txt
    date | rev
' script

Qual é a maneira correta de executar esses comandos no script bash?

Eu fiz o seguinte e parece funcionar. Está correto ?

#! /bin/bash
bash -c "$CMDS"

informação relacionada