加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

shell – 如何在xonsh中编写多命令别名?

发布时间:2020-12-15 21:55:22 所属栏目:安全 来源:网络整理
导读:在bash和zsh我曾经写过: alias nb='cd /home/lincoln/Dropbox/nupis/ jupyter notebook' 但是在xonsh中,这会返回一个错误,指出找不到该命令. 关于别名的tutorial’s部分说我应该做类似的事情: aliases['g'] = 'git status -sb' 我只能在一个命令的情况下完
在bash和zsh我曾经写过:

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

但是在xonsh中,这会返回一个错误,指出找不到该命令.
关于别名的tutorial’s部分说我应该做类似的事情:

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

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

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

解决方法

@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]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读