I cannot get the following substitution ($ORACLE_SID) to work:
The variable ORACLE_SID is set to wardin my environment. It has been exported.
I have a text file called test.dat:
/u07/oradata/${ORACLE_SID}/extab/finmart/summit/ps_voucher_line_crnt_ex.dbf
/u07/oradata/ward/extab/finmart/summit/ps_voucher_line_crnt_ex.dbf
A basic version of my script is:
#!/bin/ksh
cat $FILE_DIR/test.dat | while read CURRENT_FILE
do
ls $CURRENT_FILE
echo ""
done
My Output:
/u07/oradata/${ORACLE_SID}/extab/finmart/summit/ps_voucher_line_crnt_ex.dbf: No such file or directory
/u07/oradata/ward/extab/finmart/summit/ps_voucher_line_crnt_ex.dbf
I have determined a workaround with sed:
sed "s/\$ORACLE_SID/${ORACLE_SID}/" test.dat > test.dat.dbname
I have tried many variations, with double quotes, using cut, using a for loop, using back quotes, exporting ORACLE_SID (I already have it exported in my environment), etc.
Thanks!