zoukankan      html  css  js  c++  java
  • shell脚本处理备忘

    PLUGIN_DOC="/A/B.tar.gz"

    #获取文件名,包含扩展名B.tar.gz
    DOC_FILE_BASENAME=`basename ${PLUGIN_DOC}`
    #获取文件名,去除扩展名
    DOC_FILE=${DOC_FILE_BASENAME%.tar.gz}
    #将文件名中的特殊符号"-" "." "_" "0到9"之间的数字删除掉,比如有些文件名上带有版本号
    BASE_NAME=`echo ${DOC_FILE} | sed 's/[-._0-9]//g'`

    使用-z或-n判断字符串变量时,必须要用""把变量引起来。

    变量内容修改
    file=/dir1/dir2/dir3/my.file.txt
    可以用 ${ }获取变量中的一部分内容:"#"符号表示从变量的开头扫描,"%"表示从变量的尾部开始扫描

    其中双符号都表示最大匹配,单符号表示一次匹配。
    ${file#*/}: 拿掉第一条 / 及其左边的字符串:dir1/dir2/dir3/my.file.txt
    ${file##*/}:拿掉最后一条 / 及其左边的字符串:my.file.txt
    ${file#*.}: 拿掉第一个 . 及其左边的字符串:file.txt
    ${file##*.}:拿掉最后一个 . 及其左边的字符串:txt
    ${file%/*}: 拿掉最后条 / 及其右边的字符串:/dir1/dir2/dir3
    ${file%%/*}:拿掉第一条 / 及其右边的字符串:(空值)
    ${file%.*}: 拿掉最后一个 . 及其右边的字符串:/dir1/dir2/dir3/my.file
    ${file%%.*}:拿掉第一个 . 及其右边的字符串:/dir1/dir2/dir3/my
    ${file/.txt/.cpp} 将.txt取代为.cpp:/dir1/dir2/dir3/my.file.cpp


    # 自己编译VIM的参数配置
    VIM_CFG_PARAM="--with-features=huge
    --enable-rubyinterp=yes
    --enable-pythoninterp=yes
    --enable-luainterp=yes
    --enable-perlinterp=yes
    --enable-multibyte
    --enable-sniff
    --enable-fontset
    --enable-cscope
    --disable-gui
    --with-python-config-dir=/usr/local/lib/python2.7/config -q"

    #ctags版本号获取处理
    CTAGS_VERSION=`ctags --version | grep "Ctags" | awk '{print $3}' | sed 's/,//' | awk -F. '{print $1 $2}'`

    #cscope版本号获取处理,注意需要将标准错误重定向到标准输出上,因为这个版本号是通过标准错误给出的。
    CSCOPE_VERSION=`cscope -V 2>&1| sed 's/[^0-9]//g'`

    #python版本号获取处理,同样将非数字字母删除掉,如此就可以得到一个数字进行版本比较处理了。
    PYTHON_VERSION=`python -V 2>&1 | sed 's/[^0-9]//g'`

  • 相关阅读:
    获取元素位置信息和所占空间大小(via:js&jquery)
    原生js获取元素的样式信息
    真的了解js生成随机数吗
    js中有关滑动问题的一些理解
    禁止遮罩层以下屏幕滑动----正解(更新版)
    js中的null和undefined
    通过ajax获得json数据后格式的转换
    悬浮导航栏的实现以及导航跳转
    css selector
    视频播放器
  • 原文地址:https://www.cnblogs.com/eric-geoffrey/p/3262299.html
Copyright © 2011-2022 走看看