쉘 스크립트에서 가변 길이를 계산하는 방법은 무엇입니까?

쉘 스크립트에서 가변 길이를 계산하는 방법은 무엇입니까?

가변 길이에 따라 다른 명령을 호출하는 쉘 스크립트를 작성하고 싶습니다. 그러나 나는 아직 그것을 이해하지 못했습니다.

작동하지 않는 스크립트는 다음과 같습니다.

for i in n5 n25 
if ${#i} == 2;
then 
do 
    python two.py n5
elif ${#i} == 3;
do 
    python three.py n25
fi

쉘 스크립트에서 가변 길이를 계산하는 방법은 무엇입니까?

답변1

다음을 수행할 수 있습니다.

for i in n5 n25 
do
   if [ ${#i} -eq 2 ]; then 
       python two.py n5
   elif [ ${#i} -eq 3 ]; then
       python three.py n25
   fi
done

알아채다:

  • for.do ... done
  • if.then ... [elif; then] ... [else; then] ... fi
  • 정수 비교에는 (문자열의 경우) -eq대신 (같음)이 필요하며 괄호( 등) =안에 작성됩니다 .if [ "$var" -eq 2 ]

관련 정보