He aquí una posible solución. Funciona como tal:
$./format_date.sh 092533
2018-05-17 09:25:33
#!/bin/bash
format_time(){
point=0
while [ "$point" -le "${#1}" ];
do
string=$string"${1:$point:2}"
if [ "$point" -lt "$((${#1}-2))" ]
then
string=$string":"
fi
point=$((point+2))
done
echo "$string"
}
echo "$(date +'%Y-%m-%d')" "$( format_time "$1" )"
Esto aprovecha la sustitución de parámetros, típica de bash
y ksh
, por lo que se adapta a sus etiquetas de pregunta, pero no es adecuado para POSIX /bin/sh
ya que el formulario ${variable:position:offset}
no funciona en POSIX /bin/sh
.
Это не выглядит многообещающе. Следующее было максимально близко к тому варианту, который вы ищете, который я мог найти. curl
ничего лучше не предложил.
Я почти уверен, что тайм-аут (обратный отсчет )был разработан, чтобы помешать именно этому типу деятельности.
-T seconds
,--timeout=seconds
Установите время ожидания сети в секундах. Это эквивалентно указав --dns-timeout
,--connect-timeout
и --read-timeout
, Все одновременно.
При взаимодействии с сетью Wget может проверять тайм-аут и прервать операцию, если она занимает слишком много времени. Это предотвращает аномалии как зависшие чтения и бесконечные соединения. Единственный включенный тайм-аут по умолчанию тайм-аут чтения составляет 900 -секунд. Установка тайм-аута на 0 вообще отключает. Если вы не знаете, что делаете, это лучше не менять настройки времени ожидания по умолчанию.
Все параметры, связанные с тайм-аутом -, принимают десятичные значения, а также значения доли секунды. Например, 0,1 секунды допустимо (, хотя неразумный )выбор тайм-аута. Тайм-ауты в доли секунды полезны для проверка времени отклика сервера или тестирование сетевой задержки.
--dns-timeout=seconds
Установите время ожидания поиска DNS в секундах. DNS-запросы, которые не завершить в течение указанного времени не удастся. По умолчанию, нет тайм-аута при поиске DNS, кроме того, который реализован системные библиотеки.
--connect-timeout=seconds
Установите время ожидания соединения в секундах. TCP-соединения, которые установка займет больше времени, будет прервана. По умолчанию нет время ожидания подключения, отличное от того, что реализовано системными библиотеками.
--read-timeout=seconds
Задайте время ожидания чтения (и записи )в секундах. «Время» г. этот тайм-аут относится к простою :, еслив любой момент загрузки, данные не принимаются дольше указанного количества секунд, чтение завершается ошибкой, и загрузка начинается заново. Этот вариант не напрямую влияют на продолжительность всей загрузки.
Разумеется, удаленный сервер может разорвать соединение. раньше, чем требует этот вариант. Тайм-аут чтения по умолчанию составляет 900 секунд. секунды.
Хотя вы могли бы написать что-то подобное:
#!/bin/sh -
# an attempt to pause long enough for countdown before opening an accept port
wget https://some/long/url/download-file
sleep 9
exit
ХТХ