나만의 테스트 실행기를 작성하고 싶습니다.
do_test () {
function_under_test=$1
expected="$2"
function_under_test $3 # <-- Line 32
if [ $result -eq $expected ]; then
printf '.'
else
printf 'F'
fi
}
이렇게 하면 다음과 같이 호출할 수 있습니다.
do_test sum_squares 385 10
그런 다음 사용됩니다
sum_squares () {
result=0
num_in=$1
for each_num in `seq $num_in`
do
result=$((result+(each_num*each_num)))
done
}
function_under_test: not found
하지만 32번째 줄에 도달했어요
답변1
를 입력하면 function_under_test
쉘은 이를 변수가 아닌 명령이라고 생각합니다. function_uneder_test
확장 해야 하므로 sum_squares
.
32행을 다음으로 변경합니다.
"$function_under_test" "$3"