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


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

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

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

date +%s | md5sum

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


2
2018-04-04 19:00


происхождения




ответы:


Да, если вы используете bash (и закрываете открытую цитату) -

mysql -u user -p database \
  -e "INSERT INTO table VALUES ( NULL, $(date +%s | md5sum) , NOW(), 0);"

2
2018-04-04 19:13



Спасибо, я пытался сделать это только в командной строке, и это было правильно. - ContextSwitch
Вышеупомянутое будет работать и в командной строке; предполагая, что ваша оболочка bash. - Elliott Frisch
Спасибо, я вижу, да, что работает и в командной строке - ContextSwitch
Вместо $ () вы можете обернуть команду в backticks, и она будет работать в любой оболочке. Это также один менее характерный тип;) - psusi