在bash和zsh中,我经常这样写:
alias nb='cd /home/lincoln/Dropbox/nupis/ && jupyter notebook'
但是在xonsh中,这会返回一个错误,说这个命令没有找到。别名的tutorial's部分说我应该做如下的事情:
aliases['g'] = 'git status -sb'
我可以在只有一个命令的情况下实现这一点,但是当我尝试使用bash示例中的两个命令时,它抱怨我给cd
提供了太多的输入。
注意:我知道我可以从其他shell导入别名,但我对学习在xonsh中这样做很感兴趣。
3条答案
按热度按时间jucafojl1#
@lincolnfrias,xonsh还不支持有多个命令的字符串别名。这是一个bug /缺陷,希望很快就能解决。不过,在那之前,你可以使用函数别名来实现这种行为。
或者如果你真的想用一行字来表达:
x4shl7ld2#
使用
;
分隔命令效果很好,如下所示:aliases['gp'] = 'git add -A :/; git commit -m asdf;git push;'
ygya80vv3#
作为单个字符串的别名就像它们被键入一样进行计算,因此您可以使用
;
、&&
等链接命令。你可以在Python上下文中访问作为
$args
传递给别名的参数,例如@($args)
。注意,美元符号是 * 在括号内 *!例如:
样品使用:
我觉得最有用的指南是:anki代码/xonsh备忘单:xonsh shell的备忘单,有可复制粘贴的例子。最适合新用户的文档。