这是用于记录sipp输出的shell脚本,如网站http://sipp.sourceforge.net/doc/faq.html
之前我从未完成过批处理脚本,而且我很难理解如何转换此代码以使其在Windows中运行。
cat run.sh
#!/bin/sh
>results.txt
for i in $*
do
echo Launching test $i >> results.txt
./sipp -sf $i -m 1 127.0.0.1
if test $? -ne 0
then
echo Test $i failed >> results.txt
else
echo Test $i succeeded >> results.txt
fi
done
exit 0
有人能帮助我吗?此外,for循环中的$*
表示什么?
我为if条件IF %test NEQ 0
批量尝试了等效,但它出现了语法错误。
答案 0 :(得分:1)
对于“直接翻译”而非“防弹”代码,您可以尝试
@echo off
setlocal enableextensions
for %%i in (%*) do (
echo Launching test %%i >> results.tx
.\sipp -sf %%i -m 1 127.0.0.1
if errorlevel 1 (
echo Test %%i failed >> results.txt
) else (
echo Test %%i failed >> results.txt
)
)
exit /b 0
不确定它是否适合sipp,我从未使用过它,但这是基本的想法
答案 1 :(得分:0)
$*
将所有输入参数作为单个单词返回给您。
另外,据我所知,BAT中不存在“测试”。如果您想查看退出代码,可以使用ERRORLEVEL
之类的内容(查看类似问题https://superuser.com/questions/194662/how-to-check-the-exit-code-of-the-last-command-in-batch-file)
您要做的是,了解shell脚本逻辑,然后使用http://ss64.com/nt/等参考站点来创建代码的端口(同时请记住它可能不是纯粹的 - - 一个港口)。
另外,有几点想法: