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

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

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

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

关于如何转义引号以正确定义别名的任何提示?

答案1

这应该有效:

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

规则:

  • 在双引号中转义双引号
  • 转义双引号中的 $
  • 转义转义字符\
  • 不要转义单引号 - 你不需要文字单引号,而只需将 awk 命令分组为一个参数

相关内容