echo $()에서 bash 스크립트 호출을 래핑 할 때 매우 이상한 상황이 발생합니다. 이것은 어떤 코드를 나타낼 지 모르기 때문에 이상합니다. 그래서 일반적인 상황을 설명 할 것입니다. 나는 "run.sh"라고 부르는 스크립트를 가지고 있으며 출력이있다. 이것은 일반적으로 공백과 줄 바꿈으로 매우 정교하게 형식화됩니다.출력 중간에 나타나는 ls 내용
이 출력을 이전에 한 번 실행했을 때 얻은 값과 비교하려고합니다.
분명히expression=$(./runProcess.sh "$process");
expected=$(cat UnitTests/expect-process-$process);
if [ "$expression" == "$expected" ]; then
내가 필요 미래 testings를 비교하는 것이 "오래된"의 값을 얻기 위해 이렇게하려면 코드는이 두 가지가 같은, 즉 있는지 확인하여 이전에 "새로운"값을 비교 손으로 $(./runProcess.sh)
을 계산하십시오. 이렇게하면 공백이 훨씬 적은 출력 버전을 얻을 수 있습니다. 그러나 그것의 중간에 ls
의 내용이 나타나기 때문에 분명히 잘못되었습니다.
./runProcess.sh g,g:
R2With2Gluons =
+ ncol*i_*pi_^2*A*g^2 * (
- 17/24*d_(mu1,mu2)*d_(m1,m2)*p1.p1
- 31/8*d_(mu1,mu2)*d_(m1,m2)*p1.p2
- 17/24*d_(mu1,mu2)*d_(m1,m2)*p2.p2
+ 7/12*d_(m1,m2)*p1(mu1)*p1(mu2)
+ 1/24*d_(m1,m2)*p1(mu1)*p2(mu2)
+ 89/24*d_(m1,m2)*p1(mu2)*p2(mu1)
+ 7/12*d_(m1,m2)*p2(mu1)*p2(mu2)
);
0.01 sec out of 0.01 sec
echo $(./runProcess.sh g,g):
R2With3Gluons = + coeff(m1,m2,m3)*ncol*pi_^2*A*g^3 Auto Diagrams UnitTests colourCalc.frm form.set functions.frm output.frm process.frm process.mid qgraf2form.frm qgrafProcessor.py runProcess.sh runProcesses.sh test vertices.frm (+ 35/24*d_(mu1,mu2)*p1(mu3) - 35/24*d_(mu1,mu2)*p2(mu3) - 35/24*d_(mu1,mu3)*p1(mu2) + 35/24*d_(mu1,mu3)*p3(mu2) + 35/24*d_(mu2,mu3)*p2(mu1) - 35/24*d_(mu2,mu3)*p3(mu1)); 0.40 sec out of 0.40 sec
그리고 여기가 LS입니다 : 그하여 나는이 두 명령을 실행 출력의 다음과 같은 유형을 얻을 수 있다는 것을 의미
ls:
Auto form.set process.mid runProcesses.sh
Diagrams functions.frm qgraf2form.frm test
UnitTests output.frm qgrafProcessor.py vertices.frm
colourCalc.frm process.frm runProcess.sh
필요하다면 나는 정확한 예제를 제공 할 수 있습니다,하지만 난이 조명 희망 충분히. 왜 이런 일이 일어날 수 있습니까? OS X Mountain Lion에서 bash를 사용하고 있습니다.
예, 당신이 정확한 예제를 제공한다 사용하십시오. –
"ls 내용"? 물론 거기에'*'부동 문자가 없습니까? – cdarke
출력을 환경 변수에 저장 하시겠습니까? 아니면 '오래된 것'입니까? –