現在のディレクトリは、ユーザーの場所に依存し、スクリプトが実行されるたびに異なる可能性があるため、私は常に現在のディレクトリをスクリプトではなくユーザーのためのものと考えてきました。
そのため、Java jar ユーティリティの-C
オプションを見つけたとき、私は少し戸惑いました。
-C
jar に含めるファイル/フォルダーを指定する前にオプションが使用されることを知らない人のために。ファイル/フォルダーへのパスは jar に複製されるため、-C
オプションはファイルを含める前にディレクトリを変更します。
言い換えると:
jar -C flower lily.class
lily.class
ファイルを含むjarを作成しますが、次のようになります。
jar flower/lily.class
flower
を含むjarファイルにフォルダーを作成しますlily.class
私が作成しているjar-ingスクリプトでは、Bourneワイルドカードを使用したいのですが、それは次の直接の引数にしか適用されないため、folder/*
使用できなくなります。-C
したがって、ワイルドカードを使用する唯一の方法は、現在のディレクトリから実行することです。しかし、スクリプトで現在のディレクトリを変更して使用することにまだ不安を感じています。
スクリプトで現在のディレクトリを使用することの欠点はありますか? 何らかの理由で眉をひそめているのでしょうか?