2012-09-09 40 views
0

我是Shell Scripting的新手,但是我對Java Maps很友好。我只是想知道,我如何使用Map設施在Shell Scripting。下面是我的設施需要殼 -Shell腳本中的地圖支持

HashMap<String, ArrayList<String>> users = new HashMap<String, ArrayList<String>>(); 

    String username = "test_user1"; 
    String address = "test_user1_address"; 
    String emailId = "test_user1_emailId"; 

    ArrayList<String> values = new ArrayList<String>(); 
    values.add(address); 
    values.add(emailId); 

    users.put(username, values); 

    String anotherUser = "test_user2"; 

    if (users.containsKey(anotherUser)) { 
     System.out.println("Do some stuff here"); 
    } 

總之使用,我想用一個Map,其中有Stringkey,無論是VectorArrayList作爲價值(否則我有活與Arrays代替ArrayList並手動處理indexes),put方法到insert以及另一種方法來檢查現有Map中是否存在key

上面的代碼是一個示例代碼。 預先感謝您。

+1

(擴展下面的答案)既然你來自Java世界,請嘗試groovy(http://groovy.codehaus.org/)。這是很好的腳本語言頂部jvm – Jayan

回答

3

bash不支持這樣的嵌套結構。要麼爲每個數組使用單獨的變量,要麼使用更強大的功能,如Python。

+0

好吧,你可以請詳細說明它'爲每個數組使用單獨的變量? –

+0

'var1 =(...); var2 =(...); var3 =(...)' –

+0

嘿,我可以用'2D String array'管理我的工作,但'Searching'操作'users.containsKey(anotherUser)'將會太差。有更好的建議嗎? –