我试图保留下面的 $if 并
希望下面输出
$if
bash 通过执行$ 替换 来妨碍
$ sed -e 's:\\$:\\$:g' <<ENDOFFILE
> $if
> ENDOFFILE
或者
$ tr '$' '\$' <<ENDOFFILE
> $if
> ENDOFFILE
有没有办法将 $keywords 保存
到 stdout,而不
在 stdin 中明确地将它们转义?
在尝试此操作之前我应该切换到另一个 shell 吗?
答案1
我不确定您要做什么,但是 bash 正在此处的文档中执行参数扩展,因为分隔符ENDOFFILE
。如果将其更改为'ENDOFFILE'
bash,则不会扩展。
答案2
不确定您在这里到底想做什么,但您可以使用 tr 和 $ 的八进制值 044。尝试一下:
回声'ab$de'| tr \\044 C