Capacidade de Execução Seca: Como executar uma função que imprima os comandos OU os executa

1

Quaisquer sugestões alternativas sobre como adicionar uma capacidade de execução a seco serão apreciadas.

Estou tentando criar uma função que seja executada no modo 'dry-run' ou no modo ao vivo.

por exemplo (pseudo-código):

function do-stuff() {
   dry_run_or_real 
   brew install java
   for x in dir ; do echo $x ; done
}

function dry_run_or_real() {
   if [ ! -z "$GLOBAL_DRY_RUN" ] ; then 
      echo "We would do this:$*"
   else 
      # we are actually running the code
      $* 
   fi
}

Se GLOBAL_DRY_RUN estiver definido, este texto:

We would do this:
brew install java
for x in dir ; do echo $x ; done

MAS os comandos acima não seriam executados.

A grande restrição é que o corpo do do-stuff deve ter apenas alterações mínimas para suportar o código de teste de execução a seco:

  1. teremos muitas, muitas funções de coisas

  2. funções serão adicionadas e editadas por desenvolvedores inexperientes, então qualquer coisa complexa provavelmente será quebrada.

por Pat 13.02.2017 / 08:12

0 respostas

Tags