나는 varibe의 가치를 원 ${var}_err_num
하지만 그것을 할 수 없습니다.
#!/bin/csh -f
set list = "book bus apple"
foeach var $list
set err_num
*
*
@err_num = $err_num + 1
set ${var}_err_num = $err_num
end
echo ""
echo "# Summary"
foeach var $list
echo "$var error num : ${${var}_err_num}" ; # Error occured
end
답변1
~에 따르면이 Stackoverflow 게시물, 다음을 사용해야 할 eval
수도 있습니다.
#!/bin/csh -f
set list = "book bus apple"
set err_num = 0
foreach var ($list)
@ err_num += 1
set ${var}_err_num = $err_num
end
echo ""
echo "# Summary"
foreach var ($list)
eval echo \$var error num : \$${var}_err_num ; # Error occured
end
(스크립트의 맞춤법 오류 등 일부 문법 오류를 수정했습니다 foreach
.)
산출:
$ csh -f foo.csh
# Summary
book error num : 1
bus error num : 2
apple error num : 3