루핑 함수에 수학 방정식을 매개변수로 전달

루핑 함수에 수학 방정식을 매개변수로 전달

매개변수화된 스크립트에 대한 직렬 호출을 수행하고 호출할 때마다 백그라운드 작업으로 제출하는 스크립트를 사용하여 여러 작업을 병렬로 실행하고 싶습니다. 각 호출에서 총 10,000개의 조합 중 1,000개를 실행하는 무차별 대입 스크립트용입니다.

다음은 나의 첫 번째 해킹입니다.

#!/bin/bash
for i in $(seq 10)
do
    ./tmp/tmpsky/bd25Par.sh (i*1000-1000) (i*1000) &
done

나는 $1이 0,1000,2000 등으로 평가되고 $2가 1000,2000,3000 등으로 평가되기를 원합니다.

&는 스크립트를 백그라운드 작업으로 제출하는 것입니다. 호출된 모듈은 다음과 같이 seq와 함께 사용할 $1 및 $2를 전달합니다.

#/bin/bash/
for n in $(seq $1 1 $2)
do
...`

첫 번째 스크립트는 다음과 같이 실패합니다. unexpected token 'i*1000-1000'

내가 뭘 잘못했나요?

답변1

첫 번째 스크립트는 다음과 같이 실패합니다.unexpected token 'i*1000-1000'

내가 뭘 잘못했나요?

명백한 오류는 실제로 $i루프에서 변수를 호출하지 않는다는 것입니다.

for i in $(seq 10)
do
    ./tmp/tmpsky/bd25Par.sh (i*1000-1000) (i*1000) &
done

그것은해야한다:

for i in $(seq 10)
do
    ./tmp/tmpsky/bd25Par.sh ($i*1000-1000) ($i*1000) &
done

따라서; $i변수를 사용할 때 사용합니다 . i그 자체로는 작동하지 않습니다.

쉘에서 수학을 수행하는 것에 대해서는 주석 번호 2를 참조하십시오.

관련 정보