shebang 行中的特殊字元的意思是什麼?

shebang 行中的特殊字元的意思是什麼?

我看到如下的腳本,

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

-加入Shebang 行的目的是什麼?

答案1

A - 或 - 表示選項結束並停用進一步的選項處理。這意味著 bash 不會接受它的任何選項。 -- 之後的任何參數都被視為檔案名稱和參數。

- 的參數相當於 --。這樣做是為了提高腳本安全性。某些使用者可能會執行基於 setuid 的腳本 root 欺騙。為了避免解釋器欺騙,您需要將 -- 加到 #!/bin/bash。這是罕見但可能發生的攻擊。尼克工藝

相關內容