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