使用 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 = '$$$$$$$$$$'")"
想多了我自己的问题。我可以逃避 $. '\$\$\$\$\$\$\$\$\$\$'
我正在使用 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 = '$$$$$$$$$$'")"
想多了我自己的问题。我可以逃避 $. '\$\$\$\$\$\$\$\$\$\$'