6

在 bash 和 zsh 中,我曾经写过:

alias nb='cd /home/lincoln/Dropbox/nupis/ && jupyter notebook'

但是在 xonsh 中,这会返回一个错误,指出找不到该命令。本教程关于别名的部分说我应该这样做:

aliases['g'] = 'git status -sb' 

我可以在只有一个命令的情况下完成这项工作,但是当我尝试我的 bash 示例的两个命令时,它抱怨我给cd.

注意:我知道我可以从其他 shell 导入别名,但我有兴趣学习在 xonsh 中执行此操作。

4

2 回答 2

9

@lincolnfrias,xonsh 尚不支持具有多个命令的字符串别名。这是一个错误/缺陷,有望很快得到解决。不过,在那之前,您可以为此行为使用函数别名。

def _nb(args, stdin=None):
    cd /home/lincoln/Dropbox/nupis/ && jupyter notebook

aliases['nb'] = _nb

或者,如果您真的想在一行中执行此操作:

aliases['nb'] = lambda a, s: ![cd /home/lincoln/Dropbox/nupis/] and ![jupyter notebook]
于 2016-09-29T05:14:15.997 回答
0

将命令与;工作正常,如下所示:

aliases['gp'] = 'git add -A :/; git commit -m asdf;git push;'

于 2020-04-21T14:44:35.780 回答