2010-05-12 46 views
1

我有一個Linux .bsh腳本,我需要在Windows 7上運行,並且在創建時遇到一些困難劇本。我想要一個腳本,以便我可以在Windows的cmd中運行它,或者腳本可以輸出到一個文件。幫助將Linux .bsh腳本轉換爲Windows的vbs/wsh腳本(或其他)

的.bsh腳本看起來如下:

for ((r=0; r <$[0]; r++)) 

    netcat localhost 4444 < $[1] $ 
done 

wait 

我已經在.bsh腳本$[0]$[1]兩個參數,如果可能的話我想留住他們。另一個重要的事情是netcat腳本末尾的「$」。在Linux中,這是爲了產生一個進程/線程,重要的是我可以這樣做,因爲我有一些測試需要運行,沒有它並進行比較。

最後一件事是,當我在Linux上運行.bsh腳本時,我在文件名前使用以下命令:TIME因此我可以花時間運行腳本。如果可能的話,作爲輸出到文件或控制檯,這真的會幫助我。

如果您需要任何其他信息,請不要問。

真誠

Mestika

+0

參數應該是'$ {0}'和'$ {1}',並且背景進程的正確字符是'&'。 – 2010-05-12 12:49:50

回答

1

不幸的是,在Windows命令行遠不在bash shell作爲功能強大;不要期望像在BASH shell腳本中那樣在Windows * .bat腳本中實現同樣的功能,而不會有很多痛苦和麻煩。對於這種情況,我有兩個建議:下載並安裝Cygwin,並簡單地將原始shell腳本與Cygwin的BASH副本一起使用,或者使用Python重新實現腳本,Python比Windows命令行更具表現力,但卻非常便攜。另外,我想補充一點,你在腳本中缺少一個「做」。你確定你的腳本在UNIX上工作嗎?

+0

我會爲此添加powershell,它應該能夠輕鬆地執行循環並運行netcat – nos 2010-05-12 10:02:33

+0

@nos,或許,但是誰會知道如何使用它? BASH有更多的教程,手冊,論壇,文章和幫助頁面,然後是Power Shell。另外,BASH是UNIX Shell(/ bin/sh)的一個實現(儘管有很多擴展),它是由Single UNIX Specification規定的。所以,簡而言之,BASH有更多的支持,也是基於標準的。 – 2010-05-12 10:21:31

+0

你會注意到OP用「wsh」和「vbs」而不是「cmd」來標記問題。此外,@邁克爾,PowerShell是衆所周知的,很好的理解和良好的支持。 – 2010-05-12 12:52:24