Нет необходимости использовать канал или перенаправление в этом случае, вы можете напрямую использовать -e
параметры для выполнения некоторых команд SQL:
mysql -u username -p -e "SQL/MySQL commands"
Пример для конкретной базы данных:
mysql -u username -p -e "use database_name; SHOW tables"
mysql -u username -p -e "SHOW tables" database_name
И вы также можете перехватить выходные данные команды или функции и передать их в качестве аргумента следующим образом:
sql_command="$(your_function)"
mysql -u username -p -e "${sql_command}" database_name;
Если вы действительно хотите использовать канал или перенаправление (но я думаю, что это делаетнет смысла в этом случае):
$ mysql -u root -p database_name < <(echo "SHOW TABLES") # redirection
$ mysql -u root -p database_name <<< "$(echo "SHOW TABLES")" # another way to use redirection
$ echo "SHOW TABLES"|mysql -u root -p database_name # pipe