次の行は、シェル スクリプトPROGUARD_HOME内にローカル変数を導入します。
PROGUARD_HOME=`dirname "$0"`/..
これは、シェル スクリプトの親フォルダーを指します。スクリプトは正常に実行されます。/usr/local/bin/proguard- 次に、を参照するシンボリック リンクを作成しました~/bin/proguard4.10/bin/proguard.sh。シンボリックリンクを使用してプロガードを実行すると、PROGUARD_HOME正しく解決されなくなりました。これにより、シェル スクリプトによって次のエラー メッセージが出力されます。
エラー: jarfile /usr/local/bin/../lib/proguard.jar にアクセスできません
環境変数の割り当てを書き直して、存在する場合にシンボリック リンクを解決するにはどうすればよいですか? シェルスクリプトのシンボリックリンクの解決に関する非常によく似た質問を認識していますが、これらのソリューションをここで親フォルダーアプローチと組み合わせる方法をまだ理解できません。