2011-09-26 63 views
0

我有幾個(bash)腳本可以單獨運行,也可以按順序運行。我們稱他們爲一,二,三。他們需要一段時間才能運行,因此我們經常按順序運行它們,所以我正在編寫一個包裝腳本來簡單地調用它們。用於編寫調用其他幾個腳本的包裝腳本的模式?

我本人沒有遇到任何問題,但我意識到這是多麼脆弱。例如:

腳本二有一個-e參數供用戶指定發送錯誤的電子郵件地址。 腳本三有同樣的事情-t參數。 腳本的-e參數意味着別的

我的包裝腳本基本上解析了三個下標的所有參數的聯合,並且「做正確的事情」。 (即它有它自己的參數 - 例如-e表示電子郵件地址,它將它的值傳遞給第二個腳本的-e arg,但是傳遞給第三個參數的-t arg)。

我的問題是,這些腳本現在是如此緊密耦合 - 例如,有人出現,看到腳本二和三,並說「哦,我們應該使用相同的電子郵件地址」,並更改 - t到腳本三中的-e。腳本三自行完成,但現在包裝腳本已損壞。

你會在這種情況下做什麼?我在每個腳本的評論中都有一些很大的警告,但是這讓我困擾。我能想到的唯一的另一件事就是擁有一個巨大的整體腳本,我顯然對這兩者都不感冒。

+1

這聽起來像是企業級的,但是哪些源代碼和變更控制流程到位?我的簡短回答是:訓練維護人員編輯包裝器。 –

回答

0

這個問題似乎是人們不小心改變了底層腳本的API。你不能隨便改變一個你知道別人依賴的API。畢竟,它可能不僅僅是這個包裝腳本,期望腳本#3採取-t參數。所以答案似乎是:停止更改底層腳本