Transforme seu script SQL em um arquivo de modelo com espaços reservados realmente fáceis de combinar. Em seguida, crie o script SQL real a partir do modelo quando você conhece os valores das variáveis:
template.sql
:
set head on
set feed on
set termout off
set trimspool on
spool ts_verify.log
select tablespace_name from dba_tablespaces where tablespace_name='@@TABLESPACENAME@@';
spool off
set termout on
set trimspool off
exit
Seu script:
#!/bin/sh
unset ts_name
echo "Please enter the Tablespace Name for which you want to add datafile"
read -r ts_name
# create real SQL script and pass it to 'sqlplus':
sed "s/@@TABLESPACENAME@@/$ts_name/g" template.sql |
sqlplus -s "/ as sysdba"