Mettre à jour
Lors de ma prochaine session, j'ai réalisé que mysql n'était pas reconnu par le terminal. J'ai réalisé que j'étais stupide et que je faisais toujours les choses mal. N'utilisez pas d'alias pour résoudre en binaire.
Exemple, ne pas utiliser l'alias mysql="/Applications/MAMP/Library/bin/mysql"
Au lieu de cela
export PATH=$PATH:/Applications/MAMP/Bibliothèque/bin/
Cela vous permettra d'utiliser les binaires de manière appropriée via bash, et vous aurez également accès à tous les binaires mysql, y compris mysqladmin, etc. depuis le terminal également. :) Bon script !
Exemple de script avec les variables d'environnement appropriées :
#!/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
Ancienne réponse ci-dessous
J'ai configuré mysql dans mes utilisateurs .profile en tant qu'alias mysql="/path/to/mysql".
Au lieu de cela,
J'ai utilisé export mysql=/path/to/mysql
Et dans mon script bash, j'ai utilisé $mysql.
Exemple
cat /path/to/my/file | $mysql -h localhost -u root -padmin