[ 
https://issues.apache.org/jira/browse/HDDS-1642?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16856140#comment-16856140
 ] 

Eric Yang commented on HDDS-1642:
---------------------------------

Mature software uses two techniques to avoid compute relative path.  User 
defined environment variable, i.e JAVA_HOME is a good example.  The second 
approach is to lookup configuration in series of predefined path to discover 
software installed location.  For example, mvn script looks for /etc/mavenrc 
then ~/.mavenrc and other deciding factors to compute MAVEN_HOME.    Every 
script or binary within the binary package will compute location base on 
[software]_HOME directory variable.  The same technique can apply to Ozone CLI 
scripts to make path resolution consistent and only happen in one place during 
the bootstrap stage.

> Avoid shell references relative to the current script path
> ----------------------------------------------------------
>
>                 Key: HDDS-1642
>                 URL: https://issues.apache.org/jira/browse/HDDS-1642
>             Project: Hadoop Distributed Data Store
>          Issue Type: Bug
>            Reporter: Eric Yang
>            Priority: Minor
>
> This is based on the review comment from [~eyang]:
> bq. You might need pwd -P to resolve symlinks. I don't recommend to use 
> script location to make decision of where binaries are supposed to be because 
> someone else can make newbie mistake and refactor your script to invalid the 
> original coding intend. See this blog to explain the right way to get the 
> directory of a bash script. This is the reason that I used OZONE_HOME as base 
> reference frequently.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org

Reply via email to