UNIX シェル プログラムには、最初の引数が呼び出されたプログラムの名前であるという便利なプロパティがあります。だから私は次のように書くことができます:
#!/bin/sh
echo "You ran $0."
そして、それを実行すると、次のようになります。
$ sh foo.sh
You ran foo.sh.
これは、次のように、不適切な呼び出しをキャッチして使用法文字列を提供する場合に特に役立ちます。
Usage: foo.sh -a [AAAAA] -b [BBBBB] -c [CCCCC]
のように呼び出された JAR ファイルに対してこれを行うにはどうすればよいjava -jar MyJAR.jar
ですか? Scalaの場合main
、args(0)
は呼び出されたプログラムの名前ではなく、ユーザーから渡された最初の引数です。印刷できるようにしたい:
Usage: MyJAR.jar -a [AAAAA] -b [BBBBB] -c [CCCCC]
何か案は?