You can test your ability to pass a script by writing a script with
Print[1+1]
This should print 2 to standard out. My output:
$ math8 -script Test1.m
2
$
I executed a script with
Put[1+1,"~/Test.txt"]
with
$ math8 -script Test2.m
$
and a Test.txt was created in my home directory with 2 in it. I am wondering if you are seeing a permissions issue.