博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
pathmunge详解
阅读量:2300 次
发布时间:2019-05-09

本文共 774 字,大约阅读时间需要 2 分钟。

 

分类: 
 
1374人阅读 
(2) 
 

pathmunge是linux系统redhat系列版本系统变量/etc/profile中的函数,如果想要把某个二进制程序可以在所有的shell不用全路径运行,就需要将其所在的目录放在profile中,用过的命令正是pathmunge (目录命)

 

pathmunge{

if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)";then

if["$2"="after"];then

PATH=$PATH:$1

else

PATH=$1:$PATH

fi

fi

export PATH

}

 

pathmunge大致的作用是:判断当前系统的PATH中是否有该命令的目录,如果没有,则判断是要将该目录放于PATH之前还是之后

 

echo "PATH" 输出PATH变量的内容以供egrep查询,

grep是利用正则表达式来搜索文本的工具,egrep用的是扩展的正则表达式 

-q:do not write anything to the standart output

“(^|:)$1($|:)”为要搜索的文本,()和|都是扩展的正则表达式,()查找组,|用或的方式查找字符串,^和$是基础的正则表达式,表示待查找的字符串在开头或结尾,&1是命令所在的目录,整个表达式的意思就是在PATH开头或以:开头,末尾是文本的末尾或以:为末尾的该目录

!表示查找的字符串不在PATH中

 

下来两个if很好理解,如果你想把该目录放于整个PATH变量的后边,pathmunge (目录名) after 则PATH=$PATH:$1,否则PATH=$1:PATH

export 将新设置的变量输出,使其在当前的shell和以后的shell中都生效

 

 

转载地址:http://wikib.baihongyu.com/

你可能感兴趣的文章
iOS的三种弹框
查看>>
UIApplication和程序启动过程
查看>>
cocoaPods安装2017 以及遇到的坑
查看>>
Android中自定义可以选择中文的NumberPicker屏蔽弹出软键盘
查看>>
Scrapy教程——搭建环境、创建项目、爬取内容、保存文件(txt)
查看>>
SQL SERVER 2012 附加数据AdventureWorks2012失败解决方案
查看>>
C++内联函数(inline)的工作原理与例子
查看>>
Eclipse中使用svn主要命令的详细介绍
查看>>
MS第二题解题思路
查看>>
第一个mpi程序in linux
查看>>
epoll 详解
查看>>
Hadoop 面试题
查看>>
【Day22】mysql数据库的优化(一版)
查看>>
【Day23】几道值得研究注意的php相关问题(一)
查看>>
【Day24】几道值得研究注意的php相关问题(二)
查看>>
php源码之路第三章第六节( 变量的生命周期之变量的赋值和销毁)
查看>>
【Day35】浅谈PHP拦截器之__set()与__get()的理解与使用方法
查看>>
php源码之路第四章第一节( 函数的内部结构)
查看>>
【Day36】PHP定时任务获取微信access_token
查看>>
数据库行转列的sql语句 (抛砖引玉)
查看>>