Смотрите date
команду. Вы можете поместить текущую дату / время в строку следующим образом:
now=$(date)
Или ограничьте это только временем:
now=$(date +%H:%M:%S)
В скрипте вы помещаете эти значения в массив:
#!/bin/bash # declare array set -a times # Loop over the directories for d in dir1 dir2 dir3 do # Add the current time at the end of the array times[${#times[*]}]=$(date +%H:%M:%S) # Perform rsync (replace next two by actual code) echo rsync $d sleep 2 done # Loop over array of start times, "${!times[@]}" produces a 0-based sequence of indices over the array for i in "${!times[@]}"; do # Print the time ( "$((i+1))" increments the number because unlike computers, humans counts from 1) printf "Rsync of dir #%s started at %s\n" "$((i+1))" "$" done
Есть много вариантов форматирования даты. Если вы пойдете дальше в своем сценарии, наиболее полезным будет %s
то, что он дает «секунды с начала эпохи», что очень полезно (и действительно является единственным безопасным способом) для вычисления длительностей.