단일 사용자에 대한 시간과 분을 추가한 다음 이를 한 줄에 표시하는 스크립트

단일 사용자에 대한 시간과 분을 추가한 다음 이를 한 줄에 표시하는 스크립트

Linux를 처음 접하더라도 아직 배울 것이 많습니다! 지난 7일 동안 사용자가 로그인한 시간과 분을 출력하는 bash 쉘 스크립트를 vi에서 작성하려고 합니다. 이해가 부족하여 오류를 해결하고 있지만 원하는 결과를 얻을 수 없습니다. 어떤 도움이라도 대단히 감사하겠습니다!

이것은 지금까지 내 week-login.sh의 내용입니다.

hours=0
for x in $(last -s -7days $USER | grep -v wtmp)
do
        a=$(echo $x | cut -b 51-52)
        b=$(echo $x | cut -b 54-55)
        hours=$((10#hours+=10#a))
        minutes=$((10#minutes+=10#b))
        echo "$hours $minutes"
done

이 시점에서 내 실수는

-bash: 10#hours: value too great for base (error token is "10#hours")

8진수를 10진수로 변환하려면 10#을 포함해야 한다는 것을 알고 있지만 구문에 문제가 있어 총 시간/분만 표시됩니다.

관련 정보