Z- 매트릭스 파일을 생성해야하는 zsh 스크립트가 있지만 한 번의 반복 후에 while 루프를 종료합니다. N과 M은 결코 증가하지 않습니다.zsh while 루프는 부동 소수점 산술을 사용하는 트리플 중첩 루프에서 조기에 종료합니다.
#!/bin/zsh
n=0.5
m=0.5
a=60.0
i=1
while [[ $n -le 1.5 ]];do
while [[ $m -le 1.5 ]];do
while [[ $a -le 160 ]];do
echo $i
echo "o" > H2O.$i.Z
eval echo "h 1" $n >> H2O.$i.Z
eval echo "h 1" $m "2" $a >> H2O.$i.Z
let i=$i+1
let a=$a+5.0
done
let m=$m+0.05
done
let n=$n+0.05
done
저는 zsh를 처음 사용했습니다. 내 구문이 잘못 되었나요?
구문이 잘못 되었다면 한 번 반복되지 않습니다. 'eval' 연산은 흥미 롭습니다; 그들이하는 유일한 일에 대해서, 나의 (Bourne shell conditioning) 계산법은 에코 된 자료에서'h'와'1' 사이의 여분의 공간을 제거하는 것입니다. –