Подстановка значений в командной строке

Я хочу запустить sql из командной строки:

mysql -u user -p database -e "INSERT INTO table VALUES ( NULL, [hash] , NOW(), 0);

Я хочу заменить [hash] на ответ другой команды командной строки:

date +%s | md5sum

Есть ли способ сделать эту замену?

2
задан 18.05.2020, 23:51

1 ответ

Да, принятие Вас использует удар (и закрывает открытую кавычку) -

mysql -u user -p database \
  -e "INSERT INTO table VALUES ( NULL, $(date +%s | md5sum) , NOW(), 0);"
2
ответ дан 18.05.2020, 23:52
  • 1
    Спасибо, я пытался сделать это только на командной строке, помещение его в сценарий оболочки было правильным поступком. – Gary 18.05.2020, 23:52
  • 2
    Вышеупомянутое будет работать над командной строкой также; принятие Вашей оболочки является ударом. – Fabio Vinicius Binder 18.05.2020, 23:52
  • 3
    Спасибо, я вижу, да, который работает над командной строкой также – paquetp 18.05.2020, 23:53
  • 4
    Вместо $ () можно обернуть команду в обратные галочки, и это будет работать в любой оболочке. It' s также один меньше символа для ввода;) – 2 revs 18.05.2020, 23:53

Теги

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