2013-11-27 2 views
0

에 대한 배치에 쉘 스크립트로 변환 http://sipp.sourceforge.net/doc/faq.html웹 사이트에서와 같이이 로그인 SIPP 출력 쉘 스크립트입니다 SIPP

내가 전에 배치 스크립트를 해본 적이있다, 나는이 코드를 변환하는 방법을 이해하는 데 어려움을 겪고 있어요 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

답을 입력하기 전에 먼저 주석을 입력해야합니다. 그러나 어떤 파트에 고정되어 있는지, 그리고 무엇을 시도했는지 정확하게 지정할 수 있다면 더 나은 도움을 얻을 수 있습니다. – Vish

답변

0

$*은 모든 입력 매개 변수를 단일 단어로 반환합니다.

또한 내가 아는 한 "테스트"는 BAT에 존재하지 않습니다. 당신이 ERRORLEVEL 같은 것을 사용할 수있는 종료 코드를 확인하려면 쉘 스크립트 로직을 이해

싶은 것은 (비슷한 질문 https://superuser.com/questions/194662/how-to-check-the-exit-code-of-the-last-command-in-batch-file 확인) 다음의 포트를 만들기 위해 같은 http://ss64.com/nt/ 같은 참조 사이트를 사용 코드 (순수 one-to-one 포트가 아닐 수 있음을 명심하면서). 또한

, 생각의 커플 : 사용 가능한 SIPP의 윈도우 포트가있는 경우

  • 확실하지. 그걸 확인하고 싶을 수도 있습니다.
  • Powershell을 시작하는 것이 좋습니다. 확실히 BAT보다 훨씬 다재다능합니다. bash 배경에서 오는 경우 전환하기가 더 쉬울 수도 있습니다. 는 "직접 번역"이 아닌 "방탄"코드
1

, 당신은 내가 그것을 사용한 적이, 그것은 SIPP에 맞는

@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 

확실하지 시도 할 수 있지만, 이것은 기본이다 아이디어

관련 문제