6

bash と zsh では、次のように記述していました。

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

しかし、xonsh では、コマンドが見つからないというエラーが返されます。エイリアスに関するチュートリアルのセクションでは、次のようなことを行う必要があると述べています。

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

コマンドが 1 つしかない場合はこれを機能させることができますが、bash の例の 2 つのコマンドを試すと、cd.

注: 他のシェルからエイリアスをインポートできることはわかっていますが、xonsh でこれを行う方法を学ぶことに興味があります。

4

2 に答える 2

9

@lincolnfrias、xonsh は、複数のコマンドを持つ文字列エイリアスをまだサポートしていません。これはバグ/欠陥であり、すぐに対処されることを願っています。ただし、それまでは、この動作に関数エイリアスを使用できます。

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

aliases['nb'] = _nb

または、本当にこれを 1 行で実行したい場合は、次のようにします。

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