环境变量之执行文件路径的变量PATH
当我们执行一个命令时,系统会依据PATH的设置去PATH定义的每个目录下查寻该命令的可执行文件,如果在PATH定义的目录中含有多个文件名为我们要执行的命令的可执行文件时,那么先查询到的同名命令先被执行。
#echo $PATH 查看PATH定义了哪些目录
PATH(一定是大写),这个变量的内容是由一堆目录所组成的,每个目录中间用冒号(:)隔开,每个目录是有顺序之分的。
#PATH=$PATH:/root 将/root加入PATH当中
不通身份用户默认的PATH不同,默认能够随意执行的命令也不同
PATH是可以修改的
使用绝对路径或相对路径直接指定某个命令的文件名来执行,会比查询PATH来的正确
命令应该放到正确的目录下,执行才会比较方便
本目录(.)最好不要放到PATH当中
以下内容转自:http://blog.sina.com.cn/s/blog_4b1e4fe90100pnpp.html
比如要把/etc/apache/bin目录添加到PATH中,方法有三:
1.#PATH=$PATH:/etc/apache/bin
使用这种方法,只对当前会话有效,也就是说每当登出或注销系统以后,PATH 设置就会失效
2.#vi /etc/profile
在适当位置添加 PATH=$PATH:/etc/apache/bin (注意:= 即等号两边不能有任何空格)这种方法最好,除非你手动强制修改PATH的值,否则将不会被改变
3.#vi ~/.bash_profile
修改PATH行,把/etc/apache/bin添加进去这种方法是针对用户起作用的
注意:想改变PATH,必须重新登陆才能生效,以下方法可以简化工作:
如果修改了/etc/profile,那么编辑结束后执行source profile 或 执行点命令 ./profile,PATH的值就会立即生效了。这个方法的原理就是再执行一次/etc/profile shell脚本,注意如果用sh /etc/profile是不行的,因为sh是在子shell进程中执行的,即使PATH改变了也不会反应到当前环境中,但是source是在当前 shell进程中执行的,所以我们能看到PATH的改变。
一般情况下在用户工作目录下的bin目录会包含在PATH路径中,所以只要把用户自己写的shell脚本放在用户的bin目录下就可以了,不需要修改配置文件。
关于/etc/profile和~/.bash_profile的介绍可参考http://www.cnblogs.com/nufangrensheng/p/3478393.html。
最新文章
- spider RPC高级特性
- static、const和static const
- UItableView嵌套UICollectionView
- composer很慢修改镜像
- 每天一道LeetCode--389. Find the Difference
- UM_第三方登录
- MVC Ajax 提交是防止SCRF攻击
- 【转】WF事件驱动
- Apache本地服务无法自启动问题解决
- Tesseract pytesseract的安装和使用
- 自动适配H5容器(UIViewView/WKWebView),生成长图,防微信进度条
- POJ 2479 Maximum sum 解题报告
- Markdown内嵌Html语言
- ls-dyna基础教程
- java 日志脱敏框架 sensitive,优雅的打印脱敏日志
- Python学习之路——day05
- jira安装插件svn
- [JZOJ5984] 仙人掌
- (zhuan) 自然语言处理中的Attention Model:是什么及为什么
- 【转载】 996,谁的ICU?
热门文章
- 【BZOJ 2121】 (字符串DP,区间DP)
- 矩阵乘法<;简单总结>;
- 【刷水-贪心】BZOJ1629-[Usaco2007 Demo]Cow Acrobats
- GeoIP的使用
- bzoj 2483: Pku2279 Mr. Young&#39;s Picture Permutations -- 钩子公式
- 第一章 -- Java性能调优概述
- [转]Android学习:EditText的使用方法
- [转]MinGW编译wxWidgets问题
- 我弄的一些TASKER配置
- Constant-on-time buck-boost regulator converts a positive input to a negative output