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'`

  • 相关阅读:
    服务器键盘设置错误 完美解决
    windows 彻底删除360文件 360zipext.dll 等等
    VS2005智能设备中无法找到PInvoke DLL
    如何使用DotNet 2.0中的应用程序配置 Settings.settings
    维护应用程序状态(一):使用浏览器cookie
    NHibernate学习导航
    HTML基础(三):基本的HTML标签
    使用Cookie对象保存用户自定义设置
    ASP.NET2.0 个性化用户配置
    sealed修饰符的使用
  • 原文地址:https://www.cnblogs.com/eric-geoffrey/p/3262299.html
Copyright © 2011-2022 走看看