Kod: Markera allt
#!/bin/bash
# Diverse kod som går ut på att användaren matar in en tid som hh:mm:ss.
# Låt oss säga att användaren matade in 00:00:09.
echo $Tid # Allt okej här. Visar 00:00:09 som sig bör.
# Separera timmar, minuter och sekunder.
Timmar=$(echo $Tid | awk -F ":" '{print $1}')
Minuter=$(echo $Tid | awk -F ":" '{print $2}')
Sekunder=$(echo $Tid | awk -F ":" '{print $3}')
echo "${Timmar}:${Minuter}:${Sekunder}" # Okej här också, visar 00:00:09 som sig bör.
# Ta bort eventuella inledande nollor.
Timmar=${Timmar##+(0)}
Minuter=${Minuter##+(0)}
Sekunder=${Sekunder##+(0)}
echo "${Timmar}:${Minuter}:${Sekunder}" # Borde visa ::9, visar 00:00:09!
Kod: Markera allt
bin$ Tid=00:00:09
bin$ echo $Tid
00:00:09
bin$
bin$ # Separera timmar, minuter och sekunder.
bin$ Timmar=$(echo $Tid | awk -F ":" '{print $1}')
bin$ Minuter=$(echo $Tid | awk -F ":" '{print $2}')
bin$ Sekunder=$(echo $Tid | awk -F ":" '{print $3}')
bin$
bin$ echo "${Timmar}:${Minuter}:${Sekunder}"
00:00:09
bin$
bin$ # Ta bort eventuella inledande nollor.
bin$ Timmar=${Timmar##+(0)}
bin$ Minuter=${Minuter##+(0)}
bin$ Sekunder=${Sekunder##+(0)}
bin$
bin$ echo "${Timmar}:${Minuter}:${Sekunder}"
::9
bin$
Ubuntu 14.04
GNU bash, version 4.3.11(1)-release (i686-pc-linux-gnu)