加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如何以编程方式将变量添加到Shell中,从中调用了一些代码?

发布时间:2020-12-15 21:35:51 所属栏目:安全 来源:网络整理
导读:使用j shell,有没有办法在解释器的范围内创建变量?我有类似的东西 MapString,Object vars = loadVarsFromSomething(); 我希望能够做类似的事情 for ( Map.EntryString,Object key : vars ){ scope.put( key.getKey(),key.getValue() );} 那可能吗? 请注意,
使用j shell,有没有办法在解释器的范围内创建变量?我有类似的东西

Map<String,Object> vars = loadVarsFromSomething();

我希望能够做类似的事情

for ( Map.Entry<String,Object> key : vars )
{
  scope.put( key.getKey(),key.getValue() );
}

那可能吗?

请注意,我所指的“范围”是jshell解释器正在使用的Shell对象的实际范围.我需要获取对shell调用的引用,以便我可以创建变量看起来好像是由用户/来电者分配的..

解决方法

要从输入文件加载变量,您可以使用 Jshell script本身.

假设名为some.jsh的Jshell脚本需要提供两个变量,其中一个是String,另一个是原始整数.

// Random stuff initially
{
  System.out.println("One Jshell Script");
}
// Variables to be supplied when jshell loads.
int x = 10;
String y = "Cool";

使用以下命令执行上述脚本:

jshell some.jsh

此后,您可以使用其标识符访问这些变量,如下所示: –

enter image description here

毫无疑问,您可以使用更复杂的数据结构(在您的情况下为Map< String,Object> vars)以及在脚本中存储信息.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读