내가 아는 유일한 계산기는 변수에 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))
또는 더 간단하고 다음 bash
과 ksh
같습니다.
((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