2015-07-05 47 views
1

我对linux比较新,并且试图创建解析文件的TikZ图。为了做到这一点我在文件中以$%包含下面的语句bash防止用回声逃脱

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

这导致下面的输出

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

显然呼应& -bash脚本读取逃逸\ f和我没有找到解决办法。 我试过所有的选项,如“-e”“-n”和你有什么,尝试过各种组合的''等,但无济于事。这一次,即使谷歌没有帮助(OMG =哦,我的谷歌!!!!!!!!)

+1

可以使用printf作为替代。所有通常的转义字符都可以与printf – amdixon

+0

一起使用,效果很好,(printf“\\\ fill”做了诀窍)。你救了我的一天,我非常感谢你的帮助,最好的恩佐。 –

+0

nw。很高兴它帮助;) – amdixon

回答

2

echo默认情况下,不应该做反斜杠转义,除非指定-e您可以尝试echo -E强制转向他们(如果你有别名echoecho -e什么的)

另外,尝试使用单引号(尽管现在我想到了它,我不知道它会如何lp):

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