SimpleShellWrapperを少し修正

以前記事に書いたSimpleSHellWrapperを少し修正しました。コードはこちらのgithubに。

https://github.com/koduki/ssw

 

修正した理由は、

sh ./foo.sh

みたいなのは問題ないのですが

sh bin/foo.sh

とかだと、ssw.pyが見つからなくてエラーという超残念な感じにw

というわけで、こんな感じで修正。

#!/bin/sh
SSW_PATH=`dirname $0`/lib/ssw.py
if [ -e ${SSW_PATH} ]; then
  exec python ${SSW_PATH} "$@" < "$0"
else
  echo "not found ssw.py, this running is native."
  echo ""
fi

これでファイル自身のパスをベースにssw.pyの場所を見つけるので、どっからも出実行可能ですね。ついでにssw.pyが無いときも動くように呼び方を修正。見つからない場合は普通のシェルとして問題なく動きます。

あくまで、helpやバリデーション機能をアノテーションで付加してるだけなので。

 

あと使ってて、sshを経由すると上手く動かないことに気付いたので、この辺は要改善かなぁ。

 

では、Happy Hacking!