Aggiorna
Durante la mia prossima sessione, mi sono reso conto che mysql non è stato riconosciuto dal terminale. Mi sono reso conto di essere stupido e di fare sempre le cose sbagliate. Non utilizzare alias per risolvere in un file binario.
Esempio, non utilizzare alias mysql="/Applications/MAMP/Library/bin/mysql"
Invece
export PATH=$PATH:/Applicazioni/MAMP/Library/bin/
Ciò ti consentirà di utilizzare i binari in modo appropriato tramite bash e avrai anche accesso a tutti i binari di mysql incluso mysqladmin ecc. Anche dal terminale. :) Buon scripting!
Esempio di script con variabili di ambiente appropriate:
#!/bin/bash
echo ""
echo Reloading Database
echo ""
echo Using
echo PROJECT_BUILD_HOME: $PROJECT_BUILD_HOME
echo MYSQL: $(which mysql)
echo PHP: $(which php)
echo ""
echo ""
mysqladmin -u root -pmypass drop projectbuild
mysqladmin -u root -pmypass create projectbuild
gunzip < $PROJECT_BUILD_HOME/pack/projectbuild.sql.gz | mysql -u root -pmypass projectbuild
Vecchia risposta di seguito
Avevo l'installazione di mysql nei miei utenti .profile come alias mysql="/path/to/mysql".
Invece,
Ho usato export mysql=/path/to/mysql
E nel mio script bash, ho usato $mysql.
Esempio
cat /path/to/my/file | $mysql -h localhost -u root -padmin