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

时间:2021-07-04 17:15:45

比如,现在要在$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 才能运行

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