각각 고유한 인수를 사용하여 두 개의 함수를 연속적으로 호출하는 bash 스크립트

각각 고유한 인수를 사용하여 두 개의 함수를 연속적으로 호출하는 bash 스크립트

비슷한 질문이 많이 있지만 내가 찾고 있는 것에 대한 예를 찾을 수 없으며 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)이 작성된 후 두 번째 인수(예: SINGULARFile)에 의해 전달된 파일을 사용하여 배치 모드에서 SINGULAR를 시작하고 싶습니다. Maxima.OUT에서 데이터를 읽고 몇 가지 작업을 수행합니다.

문제:

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

/opt/local/bin/SINGULAR -b SINGULARFile

하지만 runMe.sh에서는 작동하지 않습니다. 프로그램이 매우 유사해 보이기 때문에 runMe.sh가 제대로 작동하지 않는 것으로 가정합니다...

답변1

이 함수는 다음과 같습니다:

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

매개변수가 먼저 제공되므로 함수에 제공됩니다.

관련 정보