使用 bash 脚本将 $s 插入 SQL table

Using a bash script to insert into an SQL table with $s

我正在使用 bash 脚本来更改 SQL 数据库。我正在更新的值之一使用美元符号。当前值类似于“$$$$$”,我需要将其更改为“$$$$$$$$$$”。但是,bash 脚本中的 $ 用于变量。

如何让我的 bash 脚本的这一小部分使用 $ 作为普通字符?

function prep() {
  DATE_STAMP=$(date +%m%d%Y)
  log "Changing mask to 10 characters"
  log "$(/opt/CPU/bin/connx-query -q "update TYPE set TYPE.MASK = '$$$$$$$$$$'")"
}

就目前而言,它只是将每个美元符号替换为我之前在脚本中找到的一些随机数。

Bash 提供了不同类型的引用,每种都有不同的替换规则(单引号 '、双引号 ",此处 document/string <<<"string"$'.

双引号(在log ... update中使用)将启用变量替换,将每对$$替换为当前shell PID(看起来像随机数)。 几个选项:

考虑给每个“$”加上引号以防止扩展

  log "$(/opt/CPU/bin/connx-query -q "update TYPE set TYPE.MASK = '$$$$$$$$$$'")"

想多了我自己的问题。我可以逃避 $. '\$\$\$\$\$\$\$\$\$\$'