Aktualizacja
Podczas kolejnej sesji zdałem sobie sprawę, że mysql nie jest rozpoznawany przez terminal. Zdałem sobie sprawę, że jestem głupi i zawsze robiłem coś źle. Nie używaj aliasu do rozwiązania binarnego.
Przykład, nie używaj aliasu mysql="/Applications/MAMP/Library/bin/mysql"
Zamiast tego
export PATH=$PATH:/Applications/MAMP/Library/bin/
Umożliwi to odpowiednie korzystanie z plików binarnych przez bash, a także uzyskasz dostęp do wszystkich plików binarnych mysql, w tym mysqladmin itp., również z terminala. :) Miłego pisania skryptów!
Przykładowy skrypt z odpowiednimi zmiennymi środowiskowymi:
#!/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
Stara odpowiedź poniżej
Miałem konfigurację mysql w moich użytkownikach .profile jako alias mysql="/ścieżka/do/mysql".
Zamiast tego
Użyłem export mysql=/ścieżka/do/mysql
A w moim skrypcie basha użyłem $mysql.
Przykład
cat /path/to/my/file | $mysql -h localhost -u root -padmin