Quelle est la différence entre sh script et sh <script

Quelle est la différence entre

sh myscript 

et

 sh < myscript 

J'ai joué et ils semblent avoir le même effet. Sont-ils équivalents?

Ils ne sont pas. Il y a certaines choses qui ne fonctionneront pas. La seule chose qui vient à l'esprit est:

 sh myscript -flag1 -value=3 

n'est pas possible avec sh < myscript .

Avec sh < myscript , $ 0 est défini sur sh , plutôt que sur myscript , donc

 echo this script is $0 

ne marchera pas

En outre, si votre script lit des inputs, cela ne fonctionnera pas – vous ne pouvez pas

 sh < myscript < myfiletoread