pathmunge
pathmunge是linux系统redhat系列版本系统变量/etc/profile中的函数
判断当前系统的PATH中是否有该命令的目录,如果没有,则判断是要将该目录放于PATH之前还是之后
pathmunge () {
case ":${PATH}:" in
*:"$1":*)
;;
*)
if [ "$2" = "after" ] ; then
PATH=$PATH:$
else
PATH=$:$PATH
fi
esac
}
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中都生效
pathmunge的更多相关文章
- pathmunge /etc/profile
pathmunge () { case ":${PATH}:" in *:"$1":*) ;; *) if [ "$2" = "a ...
- Linix登录报"/etc/profile: line 11: syntax error near unexpected token `$'{\r''"
同事反馈他在一测试服务器(CentOS Linux release 7.2.1511)上修改了/etc/profile文件后,使用source命令不能生效,让我帮忙看看,结果使用SecureCRT一登 ...
- linux 下安装web开发环境
以下使用 linux centos系统 一.JDK的安装 1.下载jdk-8u111-linux-x64.tar.gz 2.解压该文件,将解压后的文件复制到 /usr/local/jdk1.7 目录下 ...
- linux下添加环境变量
我安装完 RedHat Linux 5 之后,在终端使用一些命令,如: ifcinfig 查看本机的IP,发现不能使用此命令,提示说“command not found”,这该怎么办呢 想想肯定是环境 ...
- Ansible Tower
# Generated by iptables-save v1.4.7 on Tue Aug 23 04:58:34 2016 *filter :INPUT ACCEPT [0:0] :FORWARD ...
- CentOS 6.5 安装Oracle 11G R2问题列表
1. 文章中写vi/etc/profile #这个很重要 if [ $USER ="oracle" ]; then if [ $SHELL="/bin/ksh&q ...
- Linux环境下查看历史操作命令及清除方法
在Linux环境中可以通过方向键的上下按键查看近期键入的命令.但这种方法只能一个一个的查看,其实系统提供了查看所有历史命令的方法. 在终端中输入以下命令查看所有命令: history [root@te ...
- linux 2.6 驱动笔记(一)
本文作为linux 2.6 驱动笔记,记录环境搭建及linux基本内核模块编译加载. 环境搭建: 硬件:OK6410开发板 目标板操作系统:linux 2.6 交叉编译环境:windows 7 + v ...
- linux_shell_4_shell特性
去年的这个时候,我曾经写过一些关于shell特性的文章,下面是第3篇:linux_shell_3_shell变量特性. 今天我们继续来学习一些关于 Linux shell的内容. [1]shell 在 ...
随机推荐
- htaccess正则规则学习笔记整理
# —— 位于行首时表示注释. [F] —— Forbidden(禁止): 命令服务器返回 403 Forbidden错误给用户浏览器 [L] —— Last rule(最后一条规则): 告诉服务器在 ...
- JavaSE(八)集合之Set
今天这一篇把之前没有搞懂的TreeSet中的比较搞得非常的清楚,也懂得了它的底层实现.希望博友提意见! 一.Set接口 1.1.Set集合概述 Set集合:它类似于一个罐子,程序可以依次把多个对象 “ ...
- tomcat+nginx反向代理(实现一个服务器,一个ip共用80端口)
http://blog.csdn.net/sinat_33388558/article/details/54837051 http://www.cnblogs.com/zhouqinxiong/p/5 ...
- NSArray打印汉字的方法
(1) NSArray打印汉字 通过重载NSArray的- (NSString *)descriptionWithLocale:(id)locale方法 方法体例如以下: //依据设置的locale ...
- 再不学会这些技巧,你就OUT了!
俗话说的好:技多不压身!这句话真是一点都没错,尤其是在21世纪的今天,作为老师的你,如果不会使用下面所要说的这款神器,恐怕你就像玩游戏一样,要被get out!那到底是什么呢?它就是现在正在全国初高中 ...
- mysql数据库中,查看某个数据库下的表的存储类型都有哪些
需求描述: 在备份数据库的时候,使用mysqldump进行数据库的备份,如果库中仅仅有innodb存储引擎, 那么使用--single-transaction就可以,如果还有其他的存储引擎类型就要使用 ...
- GIS-ArcGIS JS API FeatureLayer图层绑定事件的几种方式
一.以下四种方式均可以 importantProvinceLayer.on("click", DoIdentify); dojo.connect(importantProvince ...
- conn.setAutoCommit(false)数据回滚设置
前言:介绍一点爱混淆的概念. 1.mysql中默认 autocommit=1:事物自动提交. 可通过 select @@autocommit;查看 但是是设置事务自动提交模式为set autocomm ...
- oracle非归档模式下的冷备份和恢复
查看归档的相关信息 SQL> archive log list数据库日志模式 非存档模式自动存档 禁用存档终点 USE_DB ...
- Android中开发习惯
我觉得首先是命名规范.命名规范这种东西每个人都有自己的风格,Google 也有自己的一套规范(多看看 Android 系统源码就明白了).好的规范可以有效地提高代码的可读性,对于将来接手代码的小伙伴也 ...