Сzsh
:
typeset -A last_run
zmodload zsh/datetime
throttle() {
local delay=$1; shift
# $cmd is the (minimally) quoted arguments of the command joined
# with spaces and used as the key for the `$last_run` associative array
local cmd="${(j: :)${(q+)@}}"
local now=$EPOCHREALTIME
local lr=$last_run[$cmd]
local t=$((now - lr))
if ((t < delay)); then
printf >&2 '%s was already run successfully %.3g seconds ago\n' "$cmd" "$t"
return 1
else
"$@" && last_run[$cmd]=$now
# $now being the time when the command started, replace with
# $EPOCHREALTIME if you want the time it finished.
fi
}
throttle 3.5 echo "test 1 2 3"
sleep 2
throttle 3.5 echo "test 1 2 3"
sleep 4
throttle 3.5 echo "test 1 2 3"
Это предполагает, что все экземпляры throttle
для данной команды выполняются в одном и том же процессе оболочки (, а не в подоболочках ).
Вы уверены, что установка прошла успешно? Обычно мигающий курсор в левом верхнем углу экрана указывает на то, что BIOS не смог найти ни одной операционной системы, установленной на жестком диске. Простой черный экран или зашифрованный экран указывает на то, что у вас проблема с видеодрайвером, либо с неправильным драйвером, либо с его отсутствием, если быть более точным.