¿Cuál era el significado de un carácter especial en la línea shebang?

¿Cuál era el significado de un carácter especial en la línea shebang?

Vi un guión como el siguiente,

#! /bin/zsh -
del=10
rm -f /mnt/md0/capture/DCN/*(ND.Om[1,$del])

¿Cuál era el propósito de agregar -una línea shebang?

Respuesta1

Un - o -- señala el final de las opciones y desactiva el procesamiento posterior de opciones. Lo que significa que bash no aceptará ninguna de sus opciones. Cualquier argumento después de -- se trata como nombre de archivo y argumento.

Un argumento de - es equivalente a --. Esto se hace para mejorar la seguridad de los scripts. Algunos usuarios pueden realizar una suplantación de raíz de script basada en setuid. Para evitar la suplantación de identidad del intérprete, debe agregar -- a #!/bin/bash. Este es un ataque raro pero posible.nixCraft

información relacionada