相关疑难解决方法(0)

在 sh 脚本中使用 sed 时需要转义哪些字符?

执行以下脚本:

#!/bin/sh
sed 's/(127\.0\.1\.1)\s/\1/' [some file]
Run Code Online (Sandbox Code Playgroud)

如果我尝试在sh( dashhere) 中运行它,它会因为需要转义的括号而失败。但是,我并不需要转义反斜线本身(八位位组之间,或\s\1)。这里的规则是什么?当我需要使用{...}或 时[...]呢?有没有我做什么和不需要逃避的清单?

sed shell-script quoting

346
推荐指数
3
解决办法
56万
查看次数

如何在shell中转义引号?

我在 bash 中转义字符时遇到问题。我想在不同用户下运行命令时转义单引号和双引号。出于这个问题的目的,假设我想在屏幕上回显以下内容:

'single quote phrase' "double quote phrase"
Run Code Online (Sandbox Code Playgroud)

如果我还需要切换到其他用户,我该如何转义所有特殊字符:

sudo su USER -c "echo \"'single quote phrase' \"double quote phrase\"\""
Run Code Online (Sandbox Code Playgroud)

当然,这不会产生正确的结果。

shell quoting escape-characters

113
推荐指数
4
解决办法
31万
查看次数

标签 统计

quoting ×2

escape-characters ×1

sed ×1

shell ×1

shell-script ×1