Parcourir la source

HADOOP-9434. Backport HADOOP-9267: hadoop -h|-{0,2}help should print usage. (Yu Li via llu)

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1@1461356 13f79535-47bb-0310-9956-ffa450edef68
Luke Lu il y a 12 ans
Parent
commit
aa039df7be
2 fichiers modifiés avec 19 ajouts et 2 suppressions
  1. 3 0
      CHANGES.txt
  2. 16 2
      bin/hadoop

+ 3 - 0
CHANGES.txt

@@ -93,6 +93,9 @@ Release 1.2.0 - unreleased
 
   IMPROVEMENTS
 
+    HADOOP-9434. Backport HADOOP-9267: hadoop -h|-{0,2}help should print usage.
+    (Yu Li via llu)
+
     HDFS-3515. Port HDFS-1457 to branch-1. (eli)
 
     HDFS-3479. Port HDFS-3335 to branch-1. (Colin Patrick McCabe via eli)

+ 16 - 2
bin/hadoop

@@ -68,8 +68,8 @@ case "`uname`" in
 CYGWIN*) cygwin=true;;
 esac
 
-# if no args specified, show usage
-if [ $# = 0 ]; then
+print_usage()
+{
   echo "Usage: hadoop [--config confdir] COMMAND"
   echo "where COMMAND is one of:"
   echo "  namenode -format     format the DFS filesystem"
@@ -98,6 +98,11 @@ if [ $# = 0 ]; then
   echo " or"
   echo "  CLASSNAME            run the class named CLASSNAME"
   echo "Most commands print help when invoked w/o parameters."
+}
+
+# if no args specified, show usage
+if [ $# = 0 ]; then
+  print_usage
   exit 1
 fi
 
@@ -105,6 +110,15 @@ fi
 COMMAND=$1
 shift
 
+# support help commands
+case $COMMAND in
+  # usage flags
+  --help|-help|-h|help)
+    print_usage
+    exit 0
+    ;;
+esac
+
 # Determine if we're starting a secure datanode, and if so, redefine appropriate variables
 if [ "$COMMAND" == "datanode" ] && [ "$EUID" -eq 0 ] && [ -n "$HADOOP_SECURE_DN_USER" ]; then
   HADOOP_PID_DIR=$HADOOP_SECURE_DN_PID_DIR