为何linux(包括mac系统)执行指令要加上 ./ ??

比如,现在要在$HIVE_HOME/bin下执行hive指令来启动hive,则该指令的执行顺序如下所示:

1 先找PATH路径

1.1 如果PATH路径下配置了$HIVE_HOME/bin,无论PATH路径下有没有配置 .:  ,均可以在任意路径下直接执行hive来启动hive

1.2 如果PATH路径下没有配置$HIVE_HOME/bin,则不可以在任意路径执行hive指令只能在$HIVE_HOME/bin执行hive指令

2 如果PATH路径下没有,则再找:

2.1 如果/etc/profile中的PATH配置如下:有 ·:

PATH=.:$JAVA_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$SCALA_HOME/bin:$PATH

则使用时,需要在$HIVE_HOME/bin目录下,写 指令名 即可,如 hive 即可运行

2.2 如果/etc/profile中的PATH配置如下:无 ·:

 

PATH=$JAVA_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$SCALA_HOME/bin:$PATH

则使用时,需要在$HIVE_HOME/bin目录下,写 ./hive 才能运行

 

 

 

posted @ 2018-06-03 10:23  后山前堂客  阅读(1026)  评论(0)    收藏  举报