SimpleShellWrapperを少し修正
以前記事に書いたSimpleSHellWrapperを少し修正しました。コードはこちらのgithubに。
修正した理由は、
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!