微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

TCSH shell 中的循环数组

如何解决TCSH shell 中的循环数组

在 TCSH 中:

我给出了两个包含不同文件的列表。然后我必须将这些列表作为数组元素传递,然后循环应该执行两次,因为只有 2 个列表。但在这种情况下,循环执行的时间与两个列表中的文件一样多。

set arr=(list_one list_two)

foreach i ($arr)
cat $i > $output.s
end

这是我的代码示例,根据我的说法,循环应该只执行两次(对于 list_one 和 list_two),但它执行了五次(对于 one.s two.s Three.s Four.s Five.s)

如果我这样使用(下面提到),循环执行两次。但是在 cat 命令中,我收到一个错误,对于我在数组中传递的每个列表,没有这样的文件或目录

Session session = null;
session = HibernateUtil.getSession();
String myQuery = "delete from UserTable where  (select extract(day from diff) from (select (CURRENT_TIMESTAMP - userDate) diff from UserTable ))>5";
session.createquery(myQuery).executeUpdate();
Criteria criteria = session.createCriteria(UserTable.class).add(Restrictions.eq("userId",userId))
        .setResultTransformer(Criteria.disTINCT_ROOT_ENTITY);
users = criteria.list();

解决方法

您的第二种方法走在正确的轨道上,只是缺少了一定程度的变量替换。

set arr=(list_one list_two)
foreach i ($arr)
    eval cat \$$i >$output.s
end

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。