bash 스크립트는 각각 자체 인수를 갖는 두 개의 함수를 연속적으로 호출합니다.


0

비슷한 질문이 많이 있지만, 내가 찾고있는 것과 Bash 스크립팅 안내서에서 예제를 찾을 수 없습니다 (큰 책이 있지만 확실합니다 ...)

내가 원하는 것은 이것입니다.

./runMe.sh가 호출하는 파일이 있는데 그 내용은 다음과 같습니다.

callMaxima() {
maxima -b "$1"
}
callSINGULAR() {
/opt/local/bin/Singular -b "$2"
}
callMaxima $1;
callSINGULAR $2;

Maxima가 터미널에 전달 된 첫 번째 인수 (예 : ./runMe MaximaFile SINGULARFile)에 의해 지시되고 Maxima.OUT 텍스트 파일을 생성하는 몇 가지 작업을 수행하려고합니다.

그런 다음 위의 파일 (Maxima.OUT)을 작성한 후 SINGULAR을 배치 모드 (또한)로 시작하고 두 번째 인수 (예 : SINGULARFile)로 파일을 전달하여 SINGULAR을 시작하고 싶습니다. Maxima.OUT에서 데이터를 읽고 몇 가지 작업을 수행합니다.

문제 :

스크립트는 Maxima를 잘 실행하고 파일을 쓰고 종료하고 SINGULAR로 들어갑니다. 그러나 SINGULARFile과 같은 파일 인수가 열리지 않는 것 같습니다. 터미널에서 SINGULAR를 쉽게 시작할 수 있으며 자동으로 파일을 실행 / 열 수 있습니다

/opt/local/bin/SINGULAR -b SINGULARFile

그러나 runMe.sh에서는 작동하지 않습니다. 프로그램이 매우 비슷해 보이므로 runMe.sh가 제대로 작동하지 않는다고 가정합니다 ...

답변:


2

이 함수는 다음과 같아야합니다.

callSINGULAR() {
/opt/local/bin/Singular -b "$1"
}

매개 변수가 첫 번째이므로 기능에 제공


오! C에서와 같이 매개 변수 계산을 생각하고있었습니다. 감사합니다 :)
nate

매개 변수는 로컬이며 서브 쉘 호출을 통과하지 않습니다. 당신은 환영합니다 :)
Romeo Ninov
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.