2013-02-11 5 views
0

바깥 쪽 루프와 2 개의 내부 루프가있는 스크립트를 쓰고 있습니다. 구문을 올바르게 입력하면 안되지만 $ 2를 올리는 내 안쪽 루프의 식을 쓰고 싶습니다. J + 1의 힘 : $ 2^(J + 1)Bash 스크립트 오류 지수 표현

이 완전한 스크립트되지 않습니다 :

for((d=0;d<=($2**($j+1));d++)) <---- 
do 

done 

for 루프에서 같은 표현을 쓸 수있는 적절한 방법은 무엇입니까?

+1

'$ 2'와'$ j '가 제대로 초기화되었다고 가정하면 구문이 올바르게 작동합니다. '$ 2'와'$ j'에 어떤 가치가 있습니까? – ruakh

+0

나는 @ruakh와 동의한다. 당신의 오류는이 줄에 없다. 'set -x'로 디버깅을 권장합니다. – Johnsyweb

+0

이것은 내부 루프의 외부 루프입니다 ((j = 0; j <= $ 1-1; j ++)) $ 1 및 $ 2는 3과 4입니다. 터미널에서 말하는 내용은 다음과 같습니다. 8 : '(d = 0; d <= ($ 2 ** ($ j + 1); d ++))'에 대한 '835 : – user1880760

답변

0

당신은

for((d=0;d<=$(($2**($j+1)));d++)) <---- 

$ 기호와 표현의 주위를 두 번 ((을 시도 할 수 있습니다.

사용중인 bash 버전에 따라 다릅니다. 때로는 $이 필요하지 않습니다 ...