发布网友 发布时间:2022-05-11 09:41
共1个回答
热心网友 时间:2023-10-10 12:53
首先, 有个逻辑错误:
你的 PATH 环境变量 配置在 你要执行的那个文件中, 然后 你又想 在你配置的路径中去找 你的可执行文件, 当然是不行的.
一般情况下, PATH 如果想一直起作用, 大家都会配置到 ~/. bash_profile 或者 ~/.bashrc 中, 这样, 你一登录, 就会首先执行 这两个文件(也有一些发行版, 只执行一个, 另一个慢慢淘汰了), 然后系统就会在你配置的路径中 去 搜寻 可执行程序 了
有一点你要明白的是, PATH 只是系统搜寻 可执行程序的目录, 这什么意思呢?
比如我写了一个shell脚本:
a.sh然后把它放到 /sbin 中, 并把 /sbin 加入到 PATH 中
这时, 我在任意地方 "执行" 这个程序, 系统 都会找到, 不用加路径, 你可以随意写 a.sh
但是, 这并不意味着, 你可以 任意的 vi a.sh 用vi打开的话, 还是要指定路径的.
最后 总结一下:
1. 脚本要可执行
2. PATH 修改后要 source 一下.
3. PATH 只是执行可执行程序时查找的路径, 不是 sh file.sh 时, sh file.sh 和 cat file.sh; vi file.sh 一样, 不会查找 PATH.