Suponiendo que ahora estoy en un shell bash y ejecuto lo siguiente
[me@server]$ bash script.sh
q1) ¿Se ha creado un nuevo proceso de bash secundario para ejecutar el script?
Si hago un
[me@server]$ ./script.sh
q2) ¿Se ha creado un nuevo proceso de bash secundario para ejecutar el script?
q3) ¿Cuál es la diferencia entre los 2 métodos entonces?

Respuestas:
De la explicación de barra diagonal
La diferencia que haces es
con
sh, está ejecutando un programa que funcionaráinterpret the lines in your scripttal como lo habría escrito en el indicador interactivo del terminal,con ./ estás haciendo un acceso directo suponiendo que el script está justo aquí en el directorio actual en el que estás sentado Y será ejecutable (porque, por ejemplo, emitiste chmod + x myscript.sh),
Información adicional de esta respuesta:
fuente
los dos son equivalentes, si no desea bifurcar a un niño, o si desea mantener el valor de env
script.sh, usecuidado sin embargo
script.shllamada sale, saldrá del shell actual.fuente
. scriptes lo mismo quesource script- verhelp source(en bash prompt) para más.