Yes, but if you someone already has shell access to
*that* account, then there is already a bigger problem.
If I create a script like the above, and make it
chmod 755, nobody is going to get the sensitive data
unless they are logged in as me, althought anyone
can read (and run) the script themselves. You can even
use very restricted accounts (e.g. no shell access)
for more security. The point is, you completely separate
the sensitive data from the script. I like this
particular way because I can do something like this in
.bashrc:
alias oradev='export ORACLE_SID=dev; export ORACLE_PASS=foo; \
export ORACLE_PASS=bar; echo Set instance to development'
...which allows easy interchange of instances,
passwords, and other parameters from the command
line. Nothing wrong with setting good permissions on
an included file, either, but if you can run/read the
script, you can track down and read the passwords.