Выполнение команд mysql из скрипта

В скрипте, который автоматизирует мою рутину, надо выполнить несколько команд mysql от имени root. Разумеется, что бы не вводить пароль по двадцать раз. Нашел я на одном из доставшихся в наследство мне серверов (Debian 4) скрипт с такими словами:

#/bin/bash
echo create database $1 default character set cp1251 collate cp1251_bin\;
echo create database $1 default character set cp1251 collate cp1251_bin\; |mysql -u root -p`</root/mysql.pass`
Мне как-то сразу показалось странным отсутствие ! в первой стороке. Но тем не менее, скрипт с удовольствием выдаёт ошибку mysql. А значит, система работает. Мне не понятно почему нет пробела после -p и вычисляемым выражением. Почему man mysql утверждает, что имя базы обязательно, а тут его нет, но факт остаётся фактом — это работает.
Когда я перенёс эту конструкцию на более родной мне сервер (Debian 5), то она там работать не стала. Заставил я работать только в виде
echo bla-bla\; |mysql —user=root —password=password
И мне это странно. А вам?