Existe alguma ferramenta para desimular scripts de shell?

1

Existem vários scripts minificadores para o código shell (por exemplo, bash-minifier ), mas e quanto ao contrário?

  1. Existem qualquer shell -scripts ou scripts para converter automaticamente um one-liner como este:

    echo foo;echo bar;echo "baz;bing";echo 'buz;bong'
    

    ... para isso:

    echo foo
    echo bar
    echo "baz;bing"
    echo 'buz;bong'
    
  2. Ou transforme a lógica minimalista assim:

    true && echo foo
    

    ... para isso:

    if true ; then
        echo foo
    fi
    
por agc 09.06.2017 / 17:19

1 resposta

2

A minimizao n geralmente uma operao reversel, dado que a informao pode ser perdida no processo, e. considere nomes de variáveis legíveis por humanos, comentários, construções lógicas, que podem ser escritas em múltiplas maneiras diferentes e.t.c.

Mas existem várias ferramentas que podem imprimir ou embelezar o seu código, que deve resolver # 1 para você.

Um exemplo é: link

A shell parser, formatter and interpreter (POSIX/Bash/mksh)

A execução do seu one-liner, através dele, produz o seguinte resultado:

%shfmt <<<"echo foo;echo bar;echo \"baz;bing\";echo 'buz;bong'"

echo foo
echo bar
echo "baz;bing"
echo 'buz;bong'
    
por 09.06.2017 / 18:42