bash 스크립트는 각각 자체 인수를 갖는 두 개의 함수를 연속적으로 호출합니다. { maxima -b “$1” } callSINGULAR() { /opt/local/bin/Singular -b “$2” } callMaxima $1; callSINGULAR

비슷한 질문이 많이 있지만, 내가 찾고있는 것과 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가 제대로 작동하지 않는다고 가정합니다 …



답변

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

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

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


답변