Basta substituir seconds
por , o que corresponderá ao primeiro argumento passado ao script.
Se você quiser especificar as unidades da entrada, então você pode referenciar para isso. Observação: não posso testar as instruções
if
neste momento, a sintaxe pode estar desativada:
if [ == "minutes" ]; then
seconds=$((*60))
elif [ == "hours" ]; then
seconds=$((*3600))
else
seconds=
fi
hours=$((seconds / 3600))
seconds=$((seconds % 3600))
minutes=$((seconds / 60))
echo "$hours hour(s) $minutes minute(s) $seconds second(s)"
Uso:
$ ./time.sh 7200
2 hour(s) 0 minute(s) 0 second(s)
$ ./time.sh 2 hours
2 hour(s) 0 minute(s) 0 second(s)