簡體   English   中英

是否可以在 shell 腳本中傳遞可選參數?

[英]Is it possible to pass an optional argument in a shell script?

我正在嘗試為兩個數據集運行 shell 腳本。 我將數據集名稱作為參數傳遞。

但是一個數據集有參數exec_seq而另一個沒有,但是兩個數據集的腳本是相同的。 有什么方法可以傳遞可選參數嗎?

例子:

我們有兩個數據集:

AMPIL
MDM

我們正在使用以下命令運行腳本:

bash script.sh AMPIL
bash script.sh MDM

但現在我必須再傳遞一個參數exec_seq 此參數僅適用於 AMPIL 數據集,不適用於 MDM。 我們如何檢查是否沒有傳遞參數,這意味着它應該為 MDM 運行,如果傳遞了任何參數,那么它應該為 AMPIL 運行?

bash script.sh AMPIL exec_seq
bash script.sh MDM

示例:將參數 5 設為可選。

您可以通過獲取其內容來處理可選參數,即$5 ,例如,

${5:-cockroach}

如果參數 5不存在或為空,則假定其值為cockroach

如果用戶想明確指定參數 4 和 6,並將參數 5 保留為默認值,則將空字符串作為第 5 個參數傳遞。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM