변수를 계산하여 다른 변수에 출력

변수를 계산하여 다른 변수에 출력

내가 아는 유일한 계산기는 변수에 bc추가한 다음 다른 변수에 출력하려는 ​​것입니다 .1

nextnum파일의 문자열을 계산하여 변수를 얻었습니다 .

nextnum=`grep -o stringtocount file.tpl.php | wc -w`

nextnum값이 이라고 가정합니다 1. 추가되면 1가 됩니다 2. 계산하기 위해 다음을 실행합니다.

rownum=`$nextnum+1 | bc`

하지만 오류가 발생했습니다.

1+1: command not found

방금 계산 부분에서 실패했어요. 백틱을 변경해 보았지만 여전히 작동하지 않습니다. 변수를 계산하여 다른 변수에 출력하는 방법을 모르겠습니다.

답변1

내부의 하위 문자열은 ` `그 자체로 유효한 명령이어야 합니다.

rownum=`echo $nextnum+1 | bc`

$( )하지만 대신 사용하는 것이 더 좋습니다 ` `.

rownum=$(echo $nextnum+1 | bc)

하지만 꼭 필요한 것은 아닙니다 bc. 쉘이 할 수 있습니다.정수산수:

rownum=$((nextnum+1))

또는 더 간단하고 다음 bashksh같습니다.

((rownum=nextnum+1))

답변2

Bash에 내장된 산술 연산을 사용할 수도 있습니다.

rownum=$((nextnum+1))

조금 더 빨라질 것입니다.

답변3

제안된 솔루션을 절대적으로 수정하고 완료하십시오. 이전에 Bourne-Shell만 사용할 수 있었을 때 수행해야 했던 방식을 언급하십시오. 이것이 마음에 드는 방식입니다.

rownum=`expr $nextnum + 1` 

답변4

나는 (앞서 언급했듯이)를 사용하겠지만, rownum=$((nextnum+1))표준 ((rownum=nextnum+1))명령을 선호한다면 let 명령을 사용할 수 있습니다.let rownum=$nextnum+1

관련 정보