Depende do conteúdo do shell script e do shell usado. Um script de shell pode conter código clichê , chamado de shebang, como segue:
#!/usr/bin/env bash
A sequência especial '#!' instrui a chamada do sistema kernel exec () para usar o programa definido logo após o interpretador. Isso significa que você terá que examinar o arquivo para ver qual programa será usado para executá-lo, se estiver usando seu segundo estilo de execução.
Além disso, no manual bash (bash -c "help set")
-x Print commands and their arguments as they are executed.
O que seu comando deve estar fazendo - se você estiver usando bash, veja nota abaixo - é imprimir cada linha em seu script e executá-lo. Estranhamente, isso deve fazer com que o primeiro comando seja mais lento que o segundo, em vez do contrário (novamente: se o interpretador usado nos dois casos for o mesmo). É muito mais comum executar o shell sem o -x, a menos, claro, que você queira depurar.
Linha de fundo: por razões descritas aqui use o shebang com o programa env em (como recomendado aqui ) e use seu segundo estilo de execução. Essa é a maneira mais independente de fazer as coisas e é o caminho preferido.
Nota: Outra coisa que complica as coisas é que o intérprete real que está por trás de / bin / sh varia de sistema para sistema. Em muitos casos isso é realmente bash e é isso que eu assumi.