【问题标题】:Getting /dev/null: ambiguous redirect error in unix获取 /dev/null:unix 中的不明确重定向错误
【发布时间】:2013-05-03 16:11:53
【问题描述】:

我正在使用 shell 脚本从 UNIX 中使用 bash 脚本的 JAR 文件列表中找出包含类文件的文件:

find . -name "*.jar" -exec bash -c 'jar -tf {} |grep -H --label {} GenericClassLoader' \;

但是我得到了错误:

java.util.zip.ZipException: error in opening zip file
        at java.util.zip.ZipFile.open(Native Method)
        at java.util.zip.ZipFile.<init>(ZipFile.java:131)
        at java.util.zip.ZipFile.<init>(ZipFile.java:92)
        at sun.tools.jar.Main.list(Main.java:997)
        at sun.tools.jar.Main.run(Main.java:242)
        at sun.tools.jar.Main.main(Main.java:1167)

我正在从这篇文章中获得帮助:Find for a class file in Linux that is present in JAR

为了避免错误,我将查询修改为:

find . -name "*.jar" -exec bash -c 'jar -tf {} 2>&/dev/null |grep -H --label {} GenericClassLoader' \;

但我开始出现以下错误:

bash: /dev/null: ambiguous redirect

请帮我解决这个问题,我的命令有什么问题。

【问题讨论】:

    标签: java bash unix jar


    【解决方案1】:

    由于您编写的重定向,您应该使用2&gt; /dev/null 重定向以将stderr 发送到/dev/null(前提是这是您想要的)。

    另外请注意,您并没有修复错误,您只是在阻止它显示。

    更多详情请看这里:http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-3.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多