スクリプトの両方を作成する良いPOSIX互換の方法はありますか?実行可能ファイル(スクリプトの関数が実行される)と内因性コマンドを使用して.
も(少なくとも)1つの機能が使用できるようになる以外は何も起こりませんか?
私は試した:
src.sh:
#!/bin/sh -eu
FILENAME=src.sh
f() { echo hello from f; }
case $0 in ($FILENAME|*/$FILENAME) f "$@";; esac
次に、次のようにテストします。
( PATH=$PWD:$PATH; src.sh; . src.sh ; echo ===; f )
これはCygwin、MacOS、Linuxで期待どおりに機能するようです。
改善方法の提案がありますか?