在bash和zsh我曾写过:
alias nb='cd /home/lincoln/Dropbox/nupis/ && jupyter notebook'
但是在xonsh中,这会返回一个错误,指出找不到该命令。 关于别名的tutorial's部分说我应该做类似的事情:
aliases['g'] = 'git status -sb'
我只能在一个命令的情况下完成这项工作,但是当我尝试我的bash示例的两个命令时,它会抱怨我向cd
提供了太多输入。
注意:我知道我可以从其他shell导入别名,但我有兴趣学习在xonsh中执行此操作。
答案 0 :(得分:7)
@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]
答案 1 :(得分:0)
使用;
分隔命令可以正常工作,如下所示:
aliases['gp'] = 'git add -A :/; git commit -m asdf;git push;'