Shell脚本中的映射支持

Shell脚本中的映射支持,shell,map,Shell,Map,我不熟悉Shell脚本编写,但是我对Java映射很友好。我只是想知道如何使用Shell脚本中的Map工具。下面是我需要在shell中使用的工具- HashMap<String, ArrayList<String>> users = new HashMap<String, ArrayList<String>>(); String username = "test_user1"; String address = "test_

我不熟悉
Shell脚本编写
,但是我对
Java映射
很友好。我只是想知道如何使用
Shell脚本中的
Map
工具。下面是我需要在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");
    }
HashMap users=newhashmap();
字符串username=“test\u user1”;
String address=“测试用户1\u地址”;
String emailId=“test\u user1\u emailId”;
ArrayList值=新的ArrayList();
添加(地址);
添加(emailId);
users.put(用户名、值);
字符串anotherUser=“test_user2”;
if(users.containsKey(另一个用户)){
System.out.println(“在这里做一些事情”);
}
简而言之,我想使用一个
映射
,它将
字符串
作为
,或者
向量
或者
数组列表
作为值(否则我将使用
数组
而不是
数组列表
,并手动处理
索引
),
方法置于
插入
中,并使用另一种方法检查现有
地图中是否存在

上面的代码是一个示例代码。
提前谢谢。

bash不支持这样的嵌套结构。可以为每个数组使用单独的变量,也可以使用Python之类的更强大的工具。

bash不支持这样的嵌套结构。要么为每个数组使用单独的变量,要么使用Python等更强大的工具。

好的,请您详细说明一下
要么为每个数组使用单独的变量
var1=(…);var2=(…);var3=(…)
嘿,我可以用
2D字符串数组来管理我的工作,但是
搜索
操作
用户。containsKey(另一个用户)
太差了。还有更好的建议吗?请看我答案的第二部分。好的,你能详细说明一下吗
或者为每个数组使用单独的变量
var1=(…);var2=(…);var3=(…)
嘿,我可以用
2D字符串数组来管理我的工作,但是
搜索
操作
用户。containsKey(另一个用户)
太差了。还有更好的建议吗?请参阅我答案的第二部分(扩展下面的答案),因为您来自Java世界,请尝试groovy()。它是jvm之上很好的脚本语言(扩展了下面的答案),因为您来自Java世界,请尝试groovy()。它是jvm之上很好的脚本语言