That still failed as the sql script ask for user input. The only solution that I can think of is to pass parameter from unix script to sql script. This requires a lot of work if you have like 50-100 sql script. Im thinking of quick way to accomplish this. here the example:
has your question changed from just hiding sqlplus username and password?
I do like Zaggy says, except the first line of the input file is
if you want to hide the contents of the input file you can use oracle's wrap tool to abscure the text in the input file. you will get a .plb that you cannot read but run in sqlplus. but check the .plb file as the password may just be spelled out. one way around this is to assign the password to a few different vars and then concatenate the vars together.