シバン行の特殊文字の意味は何ですか?

シバン行の特殊文字の意味は何ですか?

以下のようなスクリプトを見ました。

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

-シェバン行を追加する目的は何ですか?

答え1

- または -- はオプションの終了を示し、それ以上のオプション処理を無効にします。つまり、bash はオプションを一切受け入れません。-- の後の引数はファイル名と引数として扱われます。

- の引数は -- と同等です。これはスクリプトのセキュリティを向上させるために行われます。一部のユーザーは setuid ベースのスクリプト ルート スプーフィングを実行する可能性があります。インタープリター スプーフィングを回避するには、#!/bin/bash に -- を追加する必要があります。これはまれですが、起こり得る攻撃です。ニクスクラフト

関連情報