Hmm... in Debian I don't have a .bash_profile script, but I think putting it there will achieve the same thing. You just need a script that is executed at login.
Originally Posted by Karas
At a guess, is it similar to how a function works, in that the mysql_add_user.sh is written with the $USER variable in place,....and it just takes the actual user name and does its job?
Similar - $USER is a standard environment variable containing the user's login name, which should be set at login. If it is passed to the script as the first command line argument, it will be available in the script as the positional variable $1.
Actually, as it is an environment variable, it will be inherited by the add user script, but I generally find it clearer to pass arguments explicitly.
More on Shell Scripting
from the Rute Users' Guide.