Não há como passar por um script para ver como ele seria executado sem realmente fazer isso. No seu exemplo, não há if
declarações ou loops. Mas em scripts reais, muitas vezes há muitas declarações condicionais. Qual ramificação será usada dependerá do que aconteceu quando o shell executou o comando anterior. Se não executar o comando, não há como o shell saber qual saída ele teria gerado ou qual seria o código de retorno, em que a próxima instrução condicional ou atribuição dependeria.
Se o ponto é que você gostaria de examinar um roteiro e saber o que ele faz antes de executá-lo, não é uma má ideia. Mas, de forma realista, a melhor maneira de fazer isso é simplesmente navegar no arquivo com less
ou vi
ou algo semelhante.
Adicionado
Se você estiver desenvolvendo um script e quiser percorrê-lo pela primeira vez, testando a lógica, mas sem causar nenhum dano se tiver um bug, a solução que geralmente consigo usar é para 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 que você vai iterar ou o valor para o qual você configurará uma variável pode ser gerado sem alterar o sistema de arquivos e (b) é geralmente suficiente para assumir que, se você executasse o comando, ele seria bem-sucedido.