Bash here 文档中有什么方法可以控制参数扩展吗?
Is there any method to control parameter expansion in Bash here document?
我正在编写一个 Bash
脚本,它通过 sqlplus
操作 Oracle
数据库:
#!/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环境变量,我想用它的值代替;而 v$log
中的 $log
不应扩展,因为它是 sqlplus
命令中使用的值。
使用“<<'EOF'
”或“<<EOF
”只扩展值或不扩展值。有什么好的方法可以完成我的目标吗?
不确定我是否理解您想要实现的目标,但听起来您应该简单地转义 $log
和 $vlog
中的 $
以绕过扩展。
我正在编写一个 Bash
脚本,它通过 sqlplus
操作 Oracle
数据库:
#!/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环境变量,我想用它的值代替;而 v$log
中的 $log
不应扩展,因为它是 sqlplus
命令中使用的值。
使用“<<'EOF'
”或“<<EOF
”只扩展值或不扩展值。有什么好的方法可以完成我的目标吗?
不确定我是否理解您想要实现的目标,但听起来您应该简单地转义 $log
和 $vlog
中的 $
以绕过扩展。