Я выполняю интернет-магазин, куда я могу поместить переменную 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 в моем псевдониме?
Если Вы используете bash
можно использовать Замену Команды:
mr config:set 'design/head/meta_version_tag' $(date +%s)
Это будет сначала работать date +%s
в подоболочке и включайте вывод как строку, смотрите man bash
под Заменой РАСШИРЕНИЯ/КОМАНДЫ:
Bash выполняет расширение путем выполнения
command
и замена замены команды со стандартным выводом команды, с любыми запаздывающими удаленными новыми строками.
Нет никакой потребности заключить замену команды в кавычки (как Вы, обычно делал бы), в этом случае, как вывод date +%s
не имеет никаких пробелов.
Как насчет
mr config:set 'design/head/meta_version_tag' $(date +%s)
Или,
alias dothething='mr config:set "design/head/meta_version_tag" $(date +%s)'