Ich habe ein Skript wie das folgende gesehen:
#! /bin/zsh -
del=10
rm -f /mnt/md0/capture/DCN/*(ND.Om[1,$del])
Was war der Zweck des Hinzufügens -
einer Shebang-Zeile?
Antwort1
Ein - oder -- signalisiert das Ende der Optionen und deaktiviert die weitere Optionenverarbeitung. Das bedeutet, dass Bash keine seiner Optionen akzeptiert. Alle Argumente nach dem -- werden als Dateinamen und Argumente behandelt.
Ein Argument von - ist gleichbedeutend mit --. Dies wird getan, um die Skriptsicherheit zu verbessern. Einige Benutzer führen möglicherweise Setuid-basiertes Skript-Root-Spoofing durch. Um Interpreter-Spoofing zu vermeiden, müssen Sie -- zu #!/bin/bash hinzufügen. Dies ist ein seltener, aber möglicher Angriff.Abonnieren