以字符串而不是逐字检索整个文件内容-Linux命令

问题描述

我正在尝试在npm脚本中引用.sql文件。

package.json

"scripts": {
   ...,"rls:on": "npm run typeorm query $(cat src/policies/enable-rls.sql)"
}

enable-rls.sql

 ALTER TABLE folder ENABLE ROW LEVEL SECURITY;

在运行上面的命令时,出现以下错误:

QueryFailedError: unterminated quoted string at or near "ALTER"

由于sql从作为单个单词检索的文件中读取:

"ALTER" "TABLE" "folder" "ENABLE" "ROW" "LEVEL" "SECURITY;"

代替全文:

"ALTER TABLE folder ENABLE ROW LEVEL SECURITY;"

将qsl读取为全文的命令是什么?

解决方法

用JSON转义的双引号$(...)中的command substitution部分,即\"...\"

例如,将您的npm脚本更改为以下内容:


"scripts": {
  ...,"rls:on": "npm run typeorm query \"$(cat src/policies/enable-rls.sql)\""
                                   ^^                                  ^^
}

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...