Shell编程日常积累_20160112

      入门学习资料:Linux Shell编程入门,虽然帖子比较早,08年的,但是内容浅显易懂,没有复杂冗余的语法介绍,通过例子几乎说明了大部分情况下会遇到的问题。之前项目中也有接触过shell,从未有深入的代码理解,今天花费了五六个小时,认真学习了一边,真的受益匪浅。

      年前项目期间,时间比较紧张,对Linux Shell学习(20150907_源码)有些困惑,但是没有时间去调查学习。现在项目结束,得以有空解决一下之前的些许困惑。源码属于项目资产,仅供自己学习,不外泄露。

      整理一些遇到的问题,如下:

  • Linux Shell命令帮助

        1、命令 -- help

        2、man 命令

        后者更加详细,更加全面。比如rdbexecsql --help无结果,man rdbexecsql才能找到想要的帮助信息。

  • if参数 -z

       [ -z str] “str” 的长度为零则为真。 

       [ -n str] or [ str] “str” 的长度为非零则为真。

       二者刚好相反。用例: 136  if ! [ -z $MODE_STORE ] ; then ,表示MODE_STORE 不为零时,方可执行then语句。

  • grep -v 指令

       -v, --invert-match select non-matching lines  打印不匹配的行

       grep参数较多,不多介绍。用例: 173 rdbexecsql -d -mo -i $TMP_FILE | grep -v SELECT ,表示输出结果时不显示SQL文。

  • MODE_STORE=${ii#*=}

        ${ii#*=} 变量扩展表达式,表示从变量ii中删除=前面的所有字符。

  • rdbexecsql -d -mo -i $TMP_FILE

        -d 调用DEFAULT_CONNECTION结合。

        -mo 结果的出力形式。省略的场合,垂直形式表示。

        -i 入力文件名:读取并执行入力文件中的SQL文,入力文件名需用绝对路径指定。

        整体意思,读取并执行TMP_FILE中的SQL文,用非垂直形式来表示。

‘End zsh 20150113

原文地址:https://www.cnblogs.com/SilverBullet/p/5125024.html