Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 获取/dev/null:unix中的不明确重定向错误_Java_Bash_Unix_Jar - Fatal编程技术网

Java 获取/dev/null:unix中的不明确重定向错误

Java 获取/dev/null:unix中的不明确重定向错误,java,bash,unix,jar,Java,Bash,Unix,Jar,我正在使用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 Met

我正在使用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)
但我开始发现以下错误:

bash:/dev/null:不明确的重定向


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

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

还要注意的是,您并不是在修复错误,只是在防止它可见

有关更多详细信息,请参见此处:

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