3
跨壳反斜杠的处理
如何echo和printf在治疗反斜杠zsh,bash和其他贝壳? 在zsh下,我得到以下行为: $ echo "foo\bar\baz" foaaz $ echo "foo\\bar\\baz" foaaz $ echo 'foo\bar\baz' foaaz $ echo 'foo\\bar\\baz' foo\bar\baz 在bash下,情况似乎更加一致: bash$ echo "foo\bar\baz" foo\bar\baz bash$ echo 'foo\bar\baz' foo\bar\baz bash$ 但更具体而言:如何传递包含反斜杠的字符串,例如\\foo\bar\something: echo printf print 并获得完全相同的字符串?(在zsh和中bash)? 这是另一个在zsh中使用函数的实验: function foo { echo -E '$1' } $ foo \\here\is\some\path $1 我怎样才能只打印它\\here\is\some\path? 更新(注意:这已在Stephane的评论中得到回答) 我在zsh 5.0.2中尝试了以下方法: function …