Bash 指令碼中的 Shebang

Fumbani Banda 2023年1月30日 2022年5月14日
  1. Bash Shebang (#!) 以及如何使用它
  2. 使 Linux 指令碼可移植
Bash 指令碼中的 Shebang

本教程解釋了 shebang 是什麼以及它在 bash 指令碼中的用法。

Bash Shebang (#!) 以及如何使用它

#!在 shell 指令碼中使用語法來指示直譯器在 Unix/Linux 作業系統中執行指令碼。

#!/bin/bash

shebang 以 # 符號和感嘆號開頭,後跟通向直譯器的完整路徑。

在上面給出的程式碼片段的情況下,它指定應該使用 bash 作為直譯器來執行指令碼,而 bash 直譯器可以在 /bin 目錄中找到。我們假設 bash 已安裝在 /bin 目錄中。

Linux 中的指令碼由第一行指定的直譯器執行。

讓我們編寫一個使用 #!/bin/bash 的指令碼。下面的指令碼使用 bash 作為直譯器以長格式列印資料夾的所有內容。

#!/bin/bash

ls -al

使 Linux 指令碼可移植

#!/bin/bash 假設 bash 安裝在 /bin 目錄中。但是,在不同的類似 Unix 的作業系統中,情況並非總是如此。要使指令碼更便攜,請使用 #!/usr/bin/env bash

#!/usr/bin/env bash

這告訴 shell 在 $PATH 變數中搜尋 bash 的第一個匹配項,並使用它找到的第一個匹配項作為直譯器。如果你不知道系統上直譯器的絕對路徑,這很有用。

讓我們編寫一個使用 #!/usr/bin/env bash 的指令碼。下面的指令碼使用它在 $PATH 變數中找到的第一個 bash shell 作為其直譯器,以長格式列印所有資料夾的內容。

#!/usr/bin/env bash

ls -al
Fumbani Banda avatar Fumbani Banda avatar

Fumbani is a tech enthusiast. He enjoys writing on Linux and Python as well as contributing to open-source projects.

LinkedIn GitHub

相關文章 - Bash Script