Bash 如何在sed命令中动态传递变量

Bash 如何在sed命令中动态传递变量,bash,shell,Bash,Shell,我想在sed命令中传递变量 sed '/CREATE CONTROLFILE REUSE DATABASE $variable RESETLOGS ARCHIVELOG/d' sqls.sql 我想替换variable=“TEST”,而不是variable 最终: sed '/CREATE CONTROLFILE REUSE DATABASE "TEST" RESETLOGS ARCHIVELOG/d' sqls.sql 你必须使用双引号。bash不会解析用单引号包装的字符串 #! /b

我想在sed命令中传递变量

sed '/CREATE CONTROLFILE REUSE DATABASE $variable RESETLOGS  ARCHIVELOG/d' sqls.sql
我想替换variable=“TEST”,而不是variable

最终:

sed '/CREATE CONTROLFILE REUSE DATABASE "TEST" RESETLOGS  ARCHIVELOG/d' sqls.sql

你必须使用双引号。bash不会解析用单引号包装的字符串

#! /bin/bash
VAR=A
echo "$VAR" # will output A
echo '$VAR' # will output $VAR