![Можно ли заставить скрипт передавать команду внутрь приложения?](https://rvso.com/image/1000369/%D0%9C%D0%BE%D0%B6%D0%BD%D0%BE%20%D0%BB%D0%B8%20%D0%B7%D0%B0%D1%81%D1%82%D0%B0%D0%B2%D0%B8%D1%82%D1%8C%20%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%20%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%D0%B0%D0%B2%D0%B0%D1%82%D1%8C%20%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D1%83%20%D0%B2%D0%BD%D1%83%D1%82%D1%80%D1%8C%20%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F%3F.png)
#!/bin/bash
mysql
Я вижу, что остальная часть скрипта после строки два запускается после выхода из MySQL. Можно ли добавить команду, которая будет использоваться внутри mysql? Допустим, я хочу, чтобы скрипт запускал MySQL и выдавал команду "show tables;", это будет возможно?
решение1
В случае mysql
, вы можете передавать команды как аргументы, используя -e
опцию командной строки, или через стандартный ввод - например, используя here-document. Так что либо
mysql -u dbUser -pdbPass -e 'use mydb; show tables;'
или
mysql -u dbUser -pdbPass << EOF
use mydb;
show tables;
EOF
(где dbUser
, dbPass
, mydb
заменяются соответствующим образом).