linux - bash 使用 echo 防止转义

标签 linux bash escaping echo

我对 Linux 比较陌生,正在尝试创建一个 TikZ 图形来解析文件。为此,我使用包含以下语句的 $%&-bash 脚本读取文件

echo "\fill[color=blue] ($xp,$zp) circle (5pt);" >> $fout

这会产生以下输出

^Lill[color=blue] ($xp,$zp) circle (5pt);

显然 echo 转义了\f 并且我没有找到解决方法。 我已经尝试了所有选项,例如“-e”“-n”以及您有什么,尝试了“'等的各种组合,但没有成功。

我经常被 Linux 困住,但这一次即使是 google 也没有帮助(OMG=Oh My Google!!!!!!!!)。

最佳答案

默认情况下,

echo 不应执行反斜杠转义,除非指定了 -e。您可以尝试 echo -E 强制关闭它们(如果您将 echo 别名为 echo -e 或其他名称)。

或者,尝试使用单引号(尽管现在我想起来,我不知道它有什么帮助):

echo '\fill[color=blue] ('"$xp,$zp"') circle (5pt);' >> $fout

关于linux - bash 使用 echo 防止转义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31231472/

相关文章:

linux - 无法选择/tmp 以外的核心转储位置

linux - Linux 中的 sleep 机制如何工作

standards - iCalendar (rfc2445) 中的 TEXT 值中的冒号字符是否应该转义?

c++ - std::string 控制字符:将十六进制数字分配给字符串

linux - 有没有办法让 Nautilus 使用 VCS 的移动命令在版本控制下移动文件?

Python while 循环不继续

c - 在 C 中使用 Glob() 列出目录中的文件

Bash 字符类参数扩展不一致行为

linux - 我如何在 make 目标之间传递 ENV 变量

python 3 - 如何将命令行参数中的 "\"作为原始字符串保存