Выходное время Unix в псевдониме

Я выполняю интернет-магазин, куда я могу поместить переменную versiontag в, включает JS и CSS как cachebuster. Т.е.

styles.css?v2018_01

Где 2018_01 тег версии. Теперь у меня также есть инструмент CLI, который делает это быстрым для установки как так

mr config:set 'design/head/meta_version_tag' [insert_my_var_here]

И то, что я хочу сделать, создают псевдоним Bash, который устанавливает переменную на метку времени Unix каждый раз, когда это выполняется. Я знаю, что могу получить метку времени Unix с date +%s.

Таким образом, я сделал бы псевдоним как это:

mr config:set 'design/head/meta_version_tag' date +%s

Но CLI интерпретирует date +%s как строка, вместо того, чтобы получить ее вывод сначала.

Таким образом, то, в чем я нуждаюсь, является выводом как это:

mr config:set 'design/head/meta_version_tag' 1519747390

И таким образом, мой вопрос; как я могу получить вывод метки даты Unix в моем псевдониме?

3
задан 27 February 2018 в 20:02

2 ответа

Если Вы используете bash можно использовать Замену Команды:

mr config:set 'design/head/meta_version_tag' $(date +%s)

Это будет сначала работать date +%s в подоболочке и включайте вывод как строку, смотрите man bash под Заменой РАСШИРЕНИЯ/КОМАНДЫ:

Bash выполняет расширение путем выполнения command и замена замены команды со стандартным выводом команды, с любыми запаздывающими удаленными новыми строками.

Нет никакой потребности заключить замену команды в кавычки (как Вы, обычно делал бы), в этом случае, как вывод date +%s не имеет никаких пробелов.

6
ответ дан 1 December 2019 в 13:15

Как насчет

mr config:set 'design/head/meta_version_tag' $(date +%s)

Или,

alias dothething='mr config:set "design/head/meta_version_tag" $(date +%s)'
2
ответ дан 1 December 2019 в 13:15

Другие вопросы по тегам:

Похожие вопросы: