내가 총 분 즉 "11시 22분"에 시간 문자열을 변환하는 기능을 만들려고하고 682기본 bash는 스크립트 기능 추가 변수
str_to_min(){
ARR_T=$(echo $1 | tr ":" "\n")
HOUR=${ARR_T[0]}
MINUTE=${ARR_T[1]}
let MIN=(60*$HOUR)
let MIN=($MIN+$MINUTE)
#echo total minutes $MIN
return $MIN
}
str_to_min "11:22"
반환 그러나 나는 다음과 같은 오류가 계속 것 :
./find_service_to_display.sh : 라인 5 :하자 : MIN = (60 * 11 : 누락 )' (error token is "11") ./find_service_to_display.sh: line 6: let: MIN=(11: missing
) '(에러 토큰이 "11"이다)
디버깅에'echo' 또는'printf'를 사용하려고 시도 했습니까? –
작동하지 않는 이유는'ARR_T = $ (echo $ 1 | tr ":" "\ n")'은 배열을 생성하지 않기 때문에 중간에 개행 문자가있는 문자열 변수를 생성합니다. 그런 다음 그것을 사용할 때 표현의 중간에 개행을하면 문제가 발생합니다. –