estaba escribiendo un simple script de shell y descubrí que mi script no requiere línea tinglado¿La secuencia de comandos Shell funciona bien sin la línea shebang? ¿Por qué?
#!/bin/sh
Si reparto entre los permisos de ejecución a mi guión y ejecutar utilizando ./myscript.sh
. Funciona bien
Estoy usando bash
shell y /bin/sh
apuntando realmente a bash
.
lrwxrwxrwx 1 root root /bin/sh -> bash
sé que la línea tinglado se utiliza contar cáscara que interprete a utilizar para su resto de la secuencia de comandos.
Si echo de menos la línea shebang en perl, concedo permisos de ejecución y ejecuto ./myscript.pl
, no funciona.
¿Qué está pasando realmente aquí? Si uso ./
, ¿cuándo se necesita realmente la línea shebang? Se necesita
El OP dice que invoca el script como './Myscript.sh' - Supongo que eso significa que no está utilizando explícitamente el shell como ejecutable y el script como argumento. –
sí. Pero el script se está ejecutando sin esa línea? ¿Por qué? Estoy usando './Myscript.sh' para ejecutar script. –
Vaya. Editado la respuesta, gracias. –