我試圖創建一個轉換時間字符串,以總分鐘數,即「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」)'不會創建一個數組,它會創建一個恰好在中間有換行符的字符串變量。那麼當你使用它時,在表達中間換行會導致......問題。 –