奇怪的mysql用户shell命令执行问题???

奇怪的mysql用户shell命令执行问题???

系统的环境是:mysql+redhat7.2
我在某个普通test用户的命令行下执行:
test$ mysql -D Message -e "select field from table "
都可以查出记录,
但我把这个命令放入了shell脚本里,就说我 1045的access denied:
说我的test@localhost 不能访问了。??
这个shell脚本也是test用户的权限命令行下执行的。总不会要在mysql里开个test用户的访问权吧? 那样的话命令行也都能访问啊??奇怪了?
请问是何原因呢???       
我的可以
我用grant all on test.* to test@localhost identified by "test"创建了一个mysql用户
然后用test用户建立了脚本,内容和你写的一样,chmod +x test.sh,用test用户执行了test.sh,得到的结果和console下的一样,你看看是不是你哪儿错了。