Linux:彻底理解每次执行程序需要 ./ 以及解决方法

你有没有想过,在linux下运行可执行程序,一定要写成 ./emqx start ,需要带 ./
Linux:彻底理解每次执行程序需要 ./ 以及解决方法

而不像 window 运行可执行程序,写成 emqx start 就可以
Linux:彻底理解每次执行程序需要 ./ 以及解决方法

1、Linux

在 Linux 中如果我们直接写 test.sh,Linux不会在当前目录查找,Linux 系统会去 环境变量PATH 里寻

找 test.sh 的,然而并没有在 PATH 配置环境变量。所以写成 test.sh 是会找不到命令的,要用

./test.sh 告诉系统说,就在当前目录找

2、window

而 window cmd 运行一个程序,会默认现在当前目录下,或者你指定的目录下寻找程序,如果没找

到,继而去环境变量的Path查找,所以 window 不需要 ./ ,window powershell 需要加 .\,没太用

过,不熟悉,希望懂得给分享以下

3、Linux 解决办法

如果不想写 ./,可以将 ./ 配置为PATH环境变量,不建议

运行 vim /etc/profile 命令,将 PATH=$PATH:./ 添加到文件末尾,如下,保存之后,记得刷新环境变量

source /etc/profile
Linux:彻底理解每次执行程序需要 ./ 以及解决方法

未添加环境变量
Linux:彻底理解每次执行程序需要 ./ 以及解决方法
添加环境变量之后
Linux:彻底理解每次执行程序需要 ./ 以及解决方法