xargs(或其他)没有空间参数前

我想执行这样的东西(git squash):

git rebase -i HEAD~3 

git log提取3:

 git log | blabla | xargs git rebase -i HEAD~ 

这不起作用,因为xargs在HEAD~之后插入一个空格。

问题是我想要别名这个命令,所以我不能只使用

 git rebase -i HEAD~`git log | blabla` 

因为只有在定义别名时才会评估这个数字。

我不必使用xargs ,我只需要一个别名(最好不是一个函数)。

你可以使用xargs-I选项:

 git log | blabla | xargs -I% git rebase -i HEAD~% 

尝试这个:

 git log | blabla | xargs -i bash -c 'git rebase -i HEAD~{}'