저는 bash에서 스크립트를 작성하는 방법을 배우고 있으며 몇 가지 연습문제를 해결하려고 노력하고 있습니다. 운동은 이렇습니다.
"basenew"라는 변수에 "valuebase"라는 변수의 내용이 포함되어 있는 경우. "basenew"는 113,469자 이상을 포함해야 합니다. 두 조건이 모두 충족되면 스크립트는 "basenew" 변수의 마지막 20자를 인쇄해야 합니다.
내 코드는
#!/bin/bash
basenew="8dm7KsjU28B7v621Jls"
valuebase="ERmFRMVZ0U2paTlJYTkxDZz09Cg"
for i in {1..40}
do
basenew=$(echo $basenew | base64)
if [[ $basenew =~ $valuebase && ${#basenew} -ge 113469 ]] ; then
echo $i
echo $basenew | wc -c
StrLen=`echo ${basenew} | wc -c`
From=`expr $StrLen - 20`
echo $basenew | cut -c ${From}-${StrLen}
else
echo "error"
fi
done
하지만 반복 28에서 인쇄되고 마지막 20번의 반복이기 때문에 막혔지만 정답은 아닙니다.
tail -c 20을 사용하여 마지막 20자를 인쇄하라는 제안이 있습니까?
감사해요