Skip to content

jd-cli script does not work on OSX/macOS #50

Description

@stiemannkj1

Reproduced on macOS Mojave 10.14.6

Steps to reproduce:

  1. Download jd-cli and unzip it.
  2. Add ~/Downloads/jd-cli-1.2.0-dist to your unix PATH.
  3. Navigate to another directory (for example: cd ..).
  4. Attempt to decompile any class or jar:
    jd-cli ~/Test/Main.class

If the bug still exists jd-cli will fail to decompile the class and show the following error:

$ jd-cli ~/Test/Main.class
readlink: illegal option -- e
usage: readlink [-n] [file ...]
Error: Unable to access jarfile /home/me/jd-cli.jar

If the bug is fixed, jd-cli will decompile the class without any error message.

Workarounds/Fixes

In the jd-cli shell script, replace the first line which uses readlink with Dave Dopson's solution from StackOverflow:

DIRNAME="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"

Or if you aren't using bash:

DIRNAME="$( cd "$( dirname "$0" )" &> /dev/null && pwd )"

This workaround might also be the correct fix for this problem unless you need to worry about symbolic links, in which case, you'll need to use one of the more complex solutions from StackOverflow:

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions