Я использую утилиты даты, чтобы попытаться рассчитать прошедшее время. Например, $var = 19-11-27 22:36:47
, созданный
date "+%y-%m-%d %T"
Это было сделано некоторое время назад.
Мне нужно превратить его в другую переменную. Так что я думаю, что это сработает.
foo=$(dateutils.ddiff | echo "$var" | date "+%y-%m-%d %T" | -f '%dD %HH %mM')
Запустив это, я получаю
./script.sh: line 7: -f: command not found
ddiff: Error: reference DATE must be specified
Итак, как мне правильно передать это или это их альтернатива?
-1
Hugo Slop
28 Ноя 2019 в 09:39
1 ответ
$Value1=19-11-27 22:36:47
$Value2=date "+%y-%m-%d %T"
var=$(date -u -d @$(($(date -d "$Value2" '+%s') - $(date -d "$Value1" '+%s'))) '+%H:%M')
Я бросил утилиты даты для этого.
-1
Hugo Slop
28 Ноя 2019 в 09:51
2
Опубликованные вами строки не имеют смысла в bash. Вы когда-нибудь копировали и вставляли их в командную строку bash, чтобы посмотреть, что они делают?
– user1934428
28 Ноя 2019 в 11:40
Похожие вопросы
Связанные вопросы
Новые вопросы
bash
Этот тег предназначен для вопросов о сценариях, написанных для командной оболочки Bash. Сценарии оболочки с синтаксисом или другими ошибками, пожалуйста, проверьте их на https://shellcheck.net, прежде чем публиковать здесь. Вопросы об интерактивном использовании Bash, скорее всего, будут актуальны на Unix & Linux Stack Exchange или Super User, чем на Stack Overflow.
-f
, но у вас нет программы с таким названием. Что должна делать команда-f '%dD %HH %mM'
? Кроме того,date
не читает из стандартного ввода, поэтому нет смысла передавать что-то вdate
.