やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

Pythonスクリプトのシンボリックリンクを作ってPATHを通す

コマンド短縮シリーズ。

前回まで

Python3スクリプトファイル先頭行に#!/usr/bin/python3を追加することで、実行コマンドを省略できた。

before

$ python3 test.py
なんかやるコード

after

$ ./test.py
なんかやるコード

今回

パス./と拡張子.pyも省略したい。実行ファイルのように実行したい。以下の工程でできないか試してみる。

  1. Pythonスクリプトシンボリックリンクを作る
  2. シンボリックリンクのパスを通す

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の常識を知らないからひとつずつ調べていくしかない。