我的.gitconfig中有这一行,有很多\
[alias]
alias = "!git config -l | egrep ^alias | sed -e s/alias.\\\\\\([^=\\ ]\\\\+\\\\\\)=/\\\\1\\ =\\ /"
\\\\\\(
只是rexep中组的开始,如果要匹配字符(,则需要另一层转义。
别名后面的点应该有一些斜杠,但是有多少?
如果有人能列出一个清单,说明在这个过程中,每一层转义字符被删除的地方,我可能会对发生的事情有一点了解。
-
别名后面的点前面应该有多少个?
-
为什么?
grep alias ~/.gitconfig -A 6
[alias]
alias = "!git config -l | egrep ^alias | sed -e s/alias.\\\\\\([^=\\ ]\\\\+\\\\\\)=/\\\\1\\ =\\ /"
blog = log --graph --oneline --decorate --all --simplify-by-decoration
flog = log --graph --oneline --decorate --all
test = !composer test
require = !composer require
update = !composer update
install = !composer install
git alias
alias = !git config -l | egrep ^alias | sed -e s/alias.\\\([^=\ ]\\+\\\)=/\\1\ =\ /
blog = log --graph --oneline --decorate --all --simplify-by-decoration
flog = log --graph --oneline --decorate --all
test = !composer test
require = !composer require
update = !composer update
install = !composer install
输出示例
git config -l
alias.alias=!git config -l | egrep ^alias | sed -e s/alias.\\\([^=\ ]\\+\\\)=/\\1\ =\ /
alias.blog=log --graph --oneline --decorate --all --simplify-by-decoration
alias.flog=log --graph --oneline --decorate --all
alias.test=!composer test
alias.require=!composer require
alias.update=!composer update
alias.install=!composer install