Arpit Agarwal created HDFS-12706:
------------------------------------

             Summary: Allow overriding HADOOP_SHELL_EXECNAME
                 Key: HDFS-12706
                 URL: https://issues.apache.org/jira/browse/HDFS-12706
             Project: Hadoop HDFS
          Issue Type: Improvement
            Reporter: Arpit Agarwal


Some Hadoop shell scripts infer their own name using this bit of shell magic:

{code}
 18     MYNAME="${BASH_SOURCE-$0}"
 19     HADOOP_SHELL_EXECNAME="${MYNAME##*/}"
{code}

e.g. see the 
[hdfs|https://github.com/apache/hadoop/blob/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/bin/hdfs#L18]
 script.

The inferred shell script name is later passed to _hadoop-functions.sh_ which 
uses it to construct the names of some environment variables. E.g. when 
invoking _hdfs datanode_, the options variable name is inferred as follows:
{code}
# HDFS + DATANODE + OPTS -> HDFS_DATANODE_OPTS
{code}

This works well if the calling script name is standard {{hdfs}} or {{yarn}}. If 
a distribution renames the script to something like foo.bar, , then the 
variable names will be inferred as {{FOO.BAR_DATANODE_OPTS}}. This is not a 
valid bash variable name.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

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

Reply via email to