Was bedeutete ein Sonderzeichen in der Shebang-Zeile?

Was bedeutete ein Sonderzeichen in der Shebang-Zeile?

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

verwandte Informationen