Bash 스크립트에서 변수를 재할당(구체적으로 증가)

Bash 스크립트에서 변수를 재할당(구체적으로 증가)

중복 가능성:
Bash 또는 사용 가능한 언어에서 명령줄 정수 및 부동 소수점 계산을 수행하는 방법은 무엇입니까?

0.050bash 스크립트에서 단순히 변수를 재할당(구체적으로는 증가)시키고 싶습니다. 내가 작성한 다음 스크립트에서는 10진수/이중/부동 소수점인 i(정수) 인덱스입니다 . mytime"ps"(피코초)는 계산에 사용하는 시간 단위입니다.

#!/bin/bash
mytime = 0.000
for i in {1..3}
do
echo "$i: $mytime ps"
mytime = mytime + 0.050
done

그러나 다음을 사용하여 스크립트를 실행하면 bash test.sh다음과 같은 오류 메시지가 나타납니다.

test.sh: line 2: mytime: command not found
1:  ps
test.sh: line 6: mytime: command not found
2:  ps
test.sh: line 6: mytime: command not found
3:  ps
test.sh: line 6: mytime: command not found

mytime왜 변수가 아닌 명령이나 함수로 해석되는 것 같나요 ? 이 문제를 해결하도록 도와주실 수 있나요?

답변1

for i in $(seq 1 0.05 3); do
  # loop body
  echo i equals $i
done

답변2

두 가지 질문:

  1. 공백을 사용하지 마세요. 할당은 VAR=value, 가 아닙니다 VAR = value또는 VAR =value입니다 VAR= value. 두 개 또는 세 개가 아닌 하나의 쉘 공간으로 구분된 토큰이어야 합니다.
  2. 쉘은 그러한 산술을 수행하지 않습니다. 정수 수학의 경우 이라고 말할 수도 VAR=$(($VAR+1))있고, 이 훌륭한 질문을 수많은 다른 방법(정수, 부동 소수점, 중위어, 후위어, 어쩌면 접두어, 임의 정밀도 및 부엌 싱크대)으로 읽을 수도 있습니다.Bash 또는 사용 가능한 언어에서 명령줄 정수 및 부동 소수점 계산을 수행하는 방법은 무엇입니까?

관련 정보