Não há como percorrer um script para ver como ele seria executado sem realmente fazer isso. No seu exemplo, não há if
instruções ou loops. Mas em scripts reais, muitas vezes há muitas instruções condicionais. O ramo que será obtido dependerá frequentemente do que aconteceu quando o shell executou o comando anterior. Se ele não executar o comando, não há como o shell saber qual saída geraria ou qual seria o código de retorno, do qual a próxima ramificação condicional ou instrução de atribuição pode depender.
Se a questão é que você deseja examinar um script e saber o que ele faz antes de executá-lo, isso não é uma má idéia. Mas, realisticamente, a melhor maneira de fazer isso é apenas navegando no arquivo com less
ou vi
ou algo semelhante.
Adicionado
Se você está desenvolvendo um script e deseja percorrê-lo pela primeira vez, testando a lógica, mas sem causar nenhum dano se tiver um bug, a solução que geralmente posso usar é modificar apenas as declarações que poderiam causar algum dano colando um echo
na frente.
Isso geralmente funciona em scripts típicos da vida real porque (a) gerar as listas de itens sobre os quais você iterará ou o valor para o qual você definirá uma variável geralmente pode ser gerado sem alterar o sistema de arquivos e (b) geralmente é suficiente para suponha que se você executasse o comando, ele seria bem-sucedido.