当前位置: 技术问答>linux和unix
linux 环境变量 多级目录处理?
来源: 互联网 发布时间:2016-09-08
本文导语: 在linux下写了很多脚本,存放于不同的目录,如 ABC ABD ABEF 我希望修改环境变量仅仅这样写,子目录能够自动搜索 PATH=${PATH}:/A/B ====================================================================================== 我是在/etc/bash.bashrc...
在linux下写了很多脚本,存放于不同的目录,如
ABC
ABD
ABEF
我希望修改环境变量仅仅这样写,子目录能够自动搜索
PATH=${PATH}:/A/B
======================================================================================
我是在/etc/bash.bashrc 文件的最后一行添加
export PATH=${PATH}:/A/B
但是/A/B/C/ 以及其它多级目录下的文件不能被任意地点执行,说明环境变量没有递归的效果。
不知道要怎么做?
ABC
ABD
ABEF
我希望修改环境变量仅仅这样写,子目录能够自动搜索
PATH=${PATH}:/A/B
======================================================================================
我是在/etc/bash.bashrc 文件的最后一行添加
export PATH=${PATH}:/A/B
但是/A/B/C/ 以及其它多级目录下的文件不能被任意地点执行,说明环境变量没有递归的效果。
不知道要怎么做?
|
不知道怎么才能让PATH递归。
有个笨办法:
for X in `find /A/B -type d`
do
PATH=${PATH}:${X}
done
有个笨办法:
for X in `find /A/B -type d`
do
PATH=${PATH}:${X}
done
|
PATH设置太多 影响速度
你自己写的脚本 推荐使用全路径执行挺好
你自己写的脚本 推荐使用全路径执行挺好
|
path当然没有递归了,否则我写一个path=/usr, 那不是要把usr目录全部找一遍
指望path递归是不现实的,
如果希望只有path=/A/B,就能找到下面的程序,
建议一个通常的做法,就是用软链接,ln -s 把所以子目录的程序在/A/B下面建立软链接,
指望path递归是不现实的,
如果希望只有path=/A/B,就能找到下面的程序,
建议一个通常的做法,就是用软链接,ln -s 把所以子目录的程序在/A/B下面建立软链接,
|
恩,我支持,如果目录相对较少可以直接添加到PATH目录中
|
支持2楼,虽然可以通过设置路径达到目的,但每次执行命令或脚本,SHELL都会搜索一遍你设定的PATH,效率不高,全路径最直接