Zsh别名复杂字符串引用转义


1

我试图alias gsl="..."为以下命令定义一个别名(),但无法正确获取转义引号。

git stash list | awk -F: '{ print "\n\n\n\n"; print $0; print "\n\n"; system("git stash show -p " $1); }'

有关如何逃避引用以正确定义别名的任何提示?

Answers:


2

这应该工作:

 alias gsl="git stash list | awk -F: '{ print \"\\n\\n\\n\\n\"; print \$0; print \"\\n\\n\"; system(\"git stash show -p \" \$1); }' "

规则:

  • 用双引号转义双引号
  • 用双引号逃避$
  • 逃避逃脱的角色 \
  • 不要转义单引号 - 你不需要文字单引号,而只是将awk命令分组到一个参数中
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.