Bash:需要將變數匯出到父進程。父進程是相同的進程嗎?

Bash:需要將變數匯出到父進程。父進程是相同的進程嗎?

我想啟動一個設定和/或更新一些環境變數的腳本。不像這個問題,我不介意啟動腳本

. /path/to/my/script/myScript.sh

強制腳本運行與父進程相同的進程,但是我不希望如果父進程忘記,腳本會默默地失敗。 id' 喜歡檢測問題並產生錯誤訊息。

那麼,判斷腳本是否已在其父進程內執行的最佳方法是什麼?

答案1

檢查其中一個變數。如果為空或沒有設置,則顯示錯誤

if [[ -z "$some_variable" ]]; then
    echo "You must 'source /path/to/my/script/myScript.sh' first" >&2
    exit 1
fi

當然,如果您希望為用戶提供更無縫的工作流程,您可以輕鬆取得文件並繼續。

相關內容