diff --git a/departure.sh b/departure.sh index c129e82..146f72b 100755 --- a/departure.sh +++ b/departure.sh @@ -43,8 +43,8 @@ do_exit() { # hide cursor tput civis # ohne dieses IFS trennt BASH an Space und erstellt damit zu viele Array-Felder -IFS=' -' +IFS=" +" append_five_line_symbol() { @@ -150,12 +150,12 @@ get_cvag_station_name() COMPLETE_STATION_LIST="$(curl --connect-timeout 5 -s "http://www.cvag.de/eza/mis/stations?minLat=0&maxLat=100&minLon=0&maxLon=100")" for ((i=0; i<${#_STATION_ID[*]}; i++)); do case ${_STATION_ID[$i]} in - ''|*[!0-9]*) - _STATION_NAME[$i]=$(echo -n "$COMPLETE_STATION_LIST" | jq -r '.stations | .[] | select(.displayName | contains("'"${_STATION_ID[$i]}"'")) | .number') + ""|*[!0-9]*) + _STATION_NAME[$i]=$(echo -n "$COMPLETE_STATION_LIST" | jq -r ".stations | .[] | select(.displayName | contains(${_STATION_ID[$i]})) | .number") ;; *) - _STATION_NAME[$i]=$(echo -n "$COMPLETE_STATION_LIST" | jq -r '.stations | .[] | select(.number | contains('"${_STATION_ID[$i]}"')) | .displayName') + _STATION_NAME[$i]=$(echo -n "$COMPLETE_STATION_LIST" | jq -r ".stations | .[] | select(.number | contains(${_STATION_ID[$i]})) | .displayName") ;; esac done @@ -170,7 +170,7 @@ draw_logo_time() for((k=1; k<6; k++)); do append_five_line_symbol LOGO_TIME "$(date --date="@$TIME" +"%H:%M" | cut -b"$k")" done - _MYOUTPUT="$_MYOUTPUT""\\n\\n""${LOGO_TIME[0]}""\\n""${LOGO_TIME[1]}""\\n""${LOGO_TIME[2]}""\\n""${LOGO_TIME[3]}""\\n""${LOGO_TIME[4]}""\\n""${LOGO_TIME[5]}" + _MYOUTPUT="$_MYOUTPUT\\n\\n${LOGO_TIME[0]}\\n${LOGO_TIME[1]}\\n${LOGO_TIME[2]}\\n${LOGO_TIME[3]}\\n${LOGO_TIME[4]}\\n${LOGO_TIME[5]}" } LOGO_LINES_POSITION=0 @@ -189,12 +189,12 @@ while true; do STATION_STOPS=$(echo "$STATION_SCHEDULE" | jq -r ".stops | .[]") STATION_NOW=$(echo "$STATION_SCHEDULE" | jq -r ".now") - STATION_DESTINATIONS=($(echo -n "$STATION_STOPS" | jq -r '.destination')) - STATION_LINES=($(echo -n "$STATION_STOPS" | jq -r '.line')) - STATION_ACTUAL_DEPARTURE=($(echo -n "$STATION_STOPS" | jq -r '.actualDeparture')) + STATION_DESTINATIONS=($(echo -n "$STATION_STOPS" | jq -r ".destination")) + STATION_LINES=($(echo -n "$STATION_STOPS" | jq -r ".line")) + STATION_ACTUAL_DEPARTURE=($(echo -n "$STATION_STOPS" | jq -r ".actualDeparture")) [ ${#STATION_NOW} -lt 1 ] && STATION_NOW="0" REALSTATION_NOWMS=$(( "$STATION_NOW" % 1000 )) - [ ${#REALSTATION_NOWMS} -lt 3 ] && REALSTATION_NOWMS="0""$REALSTATION_NOWMS" + [ ${#REALSTATION_NOWMS} -lt 3 ] && REALSTATION_NOWMS="0$REALSTATION_NOWMS" REALSTATION_NOW=$(( "$STATION_NOW" / 1000)) THISDATE=$(date --date="@$REALSTATION_NOW" +"%d.%m.%Y %T")",$REALSTATION_NOWMS" @@ -202,16 +202,16 @@ while true; do [ "$j" -eq "$LOGO_LINES_POSITION" ] && draw_logo_time MYOUTPUT $REALSTATION_NOW for((i=${#STATION_NAME[$j]}; i<31; i++)); do - STATION_NAME[$j]="${STATION_NAME[$j]}"" " + STATION_NAME[$j]="${STATION_NAME[$j]} " done - MYOUTPUT="$MYOUTPUT"'\n\n\t\t┌────────────────────────────────┬─────────────────────────┐ \n\t\t│ '"${STATION_NAME[$j]}"'│ '"$THISDATE"' │\n\t\t├────────────────────┬─────┬─────┴─────────────────────────┤\n' + MYOUTPUT="$MYOUTPUT\n\n\t\t┌────────────────────────────────┬─────────────────────────┐ \n\t\t│ ${STATION_NAME[$j]}│ $THISDATE │\n\t\t├────────────────────┬─────┬─────┴─────────────────────────┤\n" LINECOUNT=${#STATION_LINES[*]} for ((i=0; i<"$LINECOUNT"; i++)); do for((k=${#STATION_LINES[$i]}; k<3 ; k++)); do - STATION_LINES[$i]=" ""${STATION_LINES[$i]}" + STATION_LINES[$i]=" ${STATION_LINES[$i]}" done for((k=${#STATION_DESTINATIONS[$i]}; k<29 ; k++)); do - STATION_DESTINATIONS[$i]="${STATION_DESTINATIONS[$i]}"" " + STATION_DESTINATIONS[$i]="${STATION_DESTINATIONS[$i]} " done MILLIS=$((${STATION_ACTUAL_DEPARTURE[$i]} - STATION_NOW)) [ "$MILLIS" -lt 0 ] && MILLIS=0 @@ -222,9 +222,9 @@ while true; do [ "$SEKS" -lt 10 ] && SEKSSPACE=" " [ "$MILLIS" -lt 100 ] && MILLISSPACE="0" [ "$MILLIS" -lt 10 ] && MILLISSPACE="00" - MYOUTPUT="$MYOUTPUT""\\t\\t│${MINSSPACE}${MINS} min ${SEKSSPACE}${SEKS},${MILLISSPACE}${MILLIS} s │ ${STATION_LINES[$i]} │ ${STATION_DESTINATIONS[$i]} │\\n" + MYOUTPUT="$MYOUTPUT\\t\\t│${MINSSPACE}${MINS} min ${SEKSSPACE}${SEKS},${MILLISSPACE}${MILLIS} s │ ${STATION_LINES[$i]} │ ${STATION_DESTINATIONS[$i]} │\\n" done - MYOUTPUT="$MYOUTPUT"'\t\t└────────────────────┴─────┴───────────────────────────────┘' + MYOUTPUT="$MYOUTPUT\t\t└────────────────────┴─────┴───────────────────────────────┘" done [ "$LOGO_LINES_POSITION" -eq "${#STATION_ID[*]}" ] && draw_logo_time MYOUTPUT $REALSTATION_NOW LOGO_LINES_POSITION=$(((LOGO_LINES_POSITION + 1) % (${#STATION_ID[*]} + 1)))