コマンド短縮シリーズ。
前回まで
Python3スクリプトファイル先頭行に#!/usr/bin/python3
を追加することで、実行コマンドを省略できた。
before
$ python3 test.py なんかやるコード
after
$ ./test.py なんかやるコード
今回
パス./
と拡張子.py
も省略したい。実行ファイルのように実行したい。以下の工程でできないか試してみる。
1. Pythonスクリプトのシンボリックリンクを作る
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230812/
$ ln -s some.py some
以下のように拡張子を省略できた。
$ ./test
なんかやるコード
2. シンボリックリンクのパスを通す
パス(PATH)の確認と設定方法は? - Pocketstudio.jp Linux Wiki
$ export PATH=$PATH:/tmp
しかし、以下のように実行しても応答しなかった。
$ some
かわりに以下だと実行された。
$ some.py
予想
シンボリックリンクsome
もパスが通っているので見えているはず。でもファイルの拡張子が何もないからPython3が実行スクリプトファイルとして見てくれていないということだろうか?
課題
拡張子が省略できない。
1文字でも少なくしたい。
案
linuxにはコマンドを別名定義できる機能があるらしい。次回はこれについて調べてみる。
所感
Linuxの常識を知らないからひとつずつ調べていくしかない。