我正在撰写Bash
脚本,通过Oracle
操作sqlplus
数据库:
#!/bin/bash -x
......
sqlplus / as sysdba <<'EOF'
select group#,members,bytes/1024/1024,status from v$log;
alter database add logfile group 4 ('/data/oracle/oradata/$ORACLE_SID/redo04.log') size 300M;
......
exit
$ORACLE_SID
是一个bash环境变量,我希望用它的值代替; $log
中的v$log
不应展开,因为它是sqlplus
命令中使用的值。
使用“<<'EOF'
”或“<<EOF
”只会扩展值。有没有好的方法可以实现我的目标?
答案 0 :(得分:1)
我不确定自己到底想要实现的目标,但听起来你应该只是逃避$
和$log
中的$vlog
,以绕过扩展。