xonshとは
xonsh(コンシュって呼んでる)はshellの一種でpythonをshell上で実行し、ファイル操作などを行うことができます。
クロスプラットフォームで駆動し、使い心地としては、jupyterのようなpythonのREPLに近いかたちでshellの操作が行なえます。
pythonが実行できる関係上、これまでのshellの様に無理やり1行で書いたりする必要がなく、変数などを用いての操作も可能です。
導入手順
公式がそれぞれのOSのインストールガイドを用意してくれてるので、それに従いましょう。
installがおわったら、terminal上でxonshと打って実行できます。
さっくり使い方
使い方編
python 文法は特になにも指定せずに書けます。
print ("hello") # helloと表示される
enterと押すと自動的に改行されるので、複数行で書ける。
for num range(1,10):
print(num) # 1~ 9 の数字が順番に改行されて表示される。
xonshはshellの一種なので、コマンドを実行してそれを受け取って実行したりも出来ます。
以下は、現在の階層のファイル一覧を文字列でうけとって、一文字ずつ出力していきます。
for file_name in $(ls):
print(file_name)
設定編
自分のhome直下に .xonshrc というファイルを作成して、
そこにエイリアスや、起動時の処理を書けます。
aliases["ga"] = "git add"
aliases["gc"] = "git commit"
aliases["gp"] = "git push"
aliases["gpu"] = "git pull"
aliases["gcl"] = "git clone"
aliases["gb"] = "git branch"
aliases["gch"] = "git checkout"
一部ですが、僕は雑にgitのエイリアスを設定しています。
注意点
nvmとか、anaconda みたいな感じで、 .bashrcに処理が書かれるものは注意してください。
僕は .bashrcから xonshコマンドを実行して、ターミナルを開いたときにxonshを使えるようにしてました。
ただ、 anacondaなどのbashrcに処理を書き込むものをインストールした場合、 pathが指定される前に、xonshが実行されて、
おかしなことになったりします。
なので、インストールしたのに、xonsh上ではコマンドが打てなくて、 bash上では打てるということがある場合は、bashrcの中を確認してみましょう。
終わりに
よき、xonshライフを