Bash 使用交错的单引号和双引号字符更好地书写别名

Bash 使用交错的单引号和双引号字符更好地书写别名,bash,escaping,Bash,Escaping,关于转义,有没有更干净的方法来编写以下别名 alias bs=“echo\'{'\'''account'\':'\''a1'\','\''portfolio'\':'\''p1'\'}\'\'\nc0 9000' 哎呀,那太难看了;但它是有效的。当我展开别名(使用C-M-e)时,我希望得到准确的结果: echo'{“account”:“a1”,“portfolio”:“p1”}nc 0 9000 我很想知道我是否错过了一个窍门:大部分是好奇。它必须是别名吗 function bs { echo

关于转义,有没有更干净的方法来编写以下别名

alias bs=“echo\'{'\'''account'\':'\''a1'\','\''portfolio'\':'\''p1'\'}\'\'\nc0 9000'

哎呀,那太难看了;但它是有效的。当我展开别名(使用
C-M-e
)时,我希望得到准确的结果:

echo'{“account”:“a1”,“portfolio”:“p1”}nc 0 9000


我很想知道我是否错过了一个窍门:大部分是好奇。

它必须是别名吗

function bs { echo '{"account":"a1","portfolio":"p1"}' | nc 0 9000; }

你能在$()中把别名引号里的内容放进去吗?因此,
alias bs=“$(echo'{“your stuff”}'…)”
?别名扩展似乎涉及到额外一轮的引号删除,这表明您的解决方案可能非常好。我玩弄了
$”…“
构造,但没有用。看看你的别名的
别名bs
的输出,看看它到底有多凌乱。“尽可能好”-是的,我担心有人会这么说(!)。这是一个合理的问题。我想要一个别名,这样我就可以使用sed和friends,并在发出命令之前在命令行上进一步操作该命令,而我不能使用命令。我意识到函数可以接受参数(!),但我使用了太多不同的调用组合,从而使函数变得更加麻烦。