2014-01-06 60 views
-1

我正在嘗試創建一個將十進制,八進制或十六進制數字轉換爲二進制的腳本。在bash腳本中的命令行或菜單之間進行選擇

我不能使用bc命令,所以我已經爲其中的每一個創建了一個函數。我有一個菜單,可以讓你選擇你希望轉換的數字。例如1表示十進制,2表示八進制,3表示十六進制。

我希望能也有一個命令行選項,以便: test.sh d 45將在十進制轉換45成二進制, test.sh O 12將在八進制轉換12成二進制, 測試。 sh H 0x1A會將十六進制的0x1A轉換爲二進制

如果沒有命令行參數,有沒有辦法只使用菜單?

+0

當然,使用'if'語句。有什麼問題? – Barmar

+0

檢查參數的數目,如果它等於3(程序名+字母+數字)以單向進行,如果不是,則使用其他參數 –

回答

2
if [ $# -gt 0 ] 
then 
    # Get parameters from arguments 
else 
    # Get parameters with menu 
fi 
# Calculate the result