zoukankan      html  css  js  c++  java
  • pathmunge

    pathmunge是linux系统redhat系列版本系统变量/etc/profile中的函数

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

    pathmunge () {
        case ":${PATH}:" in
            *:"$1":*)
                ;;
            *)
                if [ "$2" = "after" ] ; then
                    PATH=$PATH:$1
                else
                    PATH=$1:$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中都生效

  • 相关阅读:
    HDU 2717 Catch That Cow
    补题列表
    Codeforces 862C 异或!
    HDU 2084
    HDU 2037
    Codeforces 492B
    POJ 2262
    Codeforces 1037A
    HDU 1276
    itertools — Functions creating iterators for efficient looping
  • 原文地址:https://www.cnblogs.com/yuyutianxia/p/6646166.html
Copyright © 2011-2022 走看看