2013-05-03 114 views
0

我使用一個shell腳本,找出使用bash腳本包含一個類文件的JAR文件在UNIX列表文件曖昧重定向錯誤漸漸的錯誤是:獲得的/ dev/null的:</p> <pre><code>find . -name "*.jar" -exec bash -c 'jar -tf {} |grep -H --label {} GenericClassLoader' ; </code></pre> <p>但我:在UNIX

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

請幫我解決這個問題,什麼是我的命令的問題。

回答

2

這是因爲你寫的重定向,你應該重定向2> /dev/null發送stderr/dev/null(假設這是你想要的)。

另外請注意,您沒有修復錯誤,您只是阻止它可見。

詳情請看:http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-3.html

+0

非常感謝阿爾貝託 – chaitanya 2013-05-03 17:00:46

+0

不客氣! – 2013-05-03 17:02:06

相關問題