Другие переносные опции - это извлечение абсолютного пути JDK из javac:
export JAVA_HOME=`type -p javac|xargs readlink -f|xargs dirname|xargs dirname`
. Абсолютный путь javac передается в dirname дважды, чтобы удалить /bin/javac из конец. Полное извлечение каталога происходит следующим образом:
$ type -p javac
/usr/bin/javac
$ readlink -f /usr/bin/javac
/usr/lib/jvm/java-8-oracle/bin/javac
$ dirname /usr/lib/jvm/java-8-oracle/bin/javac
/usr/lib/jvm/java-8-oracle/bin/
$ dirname /usr/lib/jvm/java-8-oracle/bin/
/usr/lib/jvm/java-8-oracle/