HOWTO · Bash

在 Bash 中從當前指令碼呼叫另一個指令碼

本教程將討論如何在 Bash 中從當前指令碼執行另一個指令碼。

本頁內容

有時我們需要從當前執行的指令碼執行外部指令碼。Bash 使我們能夠通過呼叫從另一個指令碼執行外部指令碼。

呼叫外部指令碼有三種簡單的方法:source 命令、符號 . 和 sh 命令。你可以選擇其中任何一種方法。

在本文中,我們將瞭解如何從當前執行的指令碼中呼叫外部 Bash 指令碼。此外,我們將看一些示例和解釋,以使主題更容易。

建立一個 Bash 指令碼

在開始之前,假設我們使用以下程式碼設計了名為 ScriptOne.sh 的第一個 Bash 指令碼:

echo 'This is a first bash script that is waiting for a response'

我們需要設計另一個 Bash 指令碼來引用我們的第一個 Bash 指令碼。我們可以通過以下三種方式從另一個 Bash 指令碼呼叫第一個指令碼。

使用 source 命令從 Bash 中的當前指令碼呼叫另一個指令碼

在我們的第一種方法中,我們將使用命令 source。這是一個特殊的命令,可以用來執行另一個指令碼。

使用此命令,我們示例的程式碼將如下所示:

echo 'This is the second file that will call another script'
source first. sh

請注意,source 命令後應該有一個空格。

使用 。從 Bash 中的當前指令碼呼叫另一個指令碼的符號

這是最簡單的方法。在這種方法中,我們將使用符號 .。

它將完全像我們上面的方法一樣工作。使用符號 . 的相同示例的程式碼如下:

echo 'This is the second file that will call another script'
. first. sh

請注意,. 符號後面應該有一個空格。

使用 sh 命令從 Bash 中的當前指令碼呼叫另一個指令碼

在我們的最後一個示例中,我們將使用命令 sh,這是一個內建的 Bash 命令,可用於執行外部指令碼。使用 sh 命令的相同示例的程式碼如下:

echo 'This is the second file that will call another script'
sh first. sh

請注意 sh 命令後應該有一個空格。

上面共享的所有方法都將以相同的方式工作。執行任一方法示例後,你將獲得如下輸出:

This is the second file that will call another script
This is a first bash script that is waiting for a response

請注意,本文中使用的所有程式碼都是用 Bash 編寫的。它僅適用於 Linux Shell 環境。