知识大全 两个很详细的shell 实例代码
Posted 文件
篇首语:人生必须的知识就是引人向光明方面的明灯。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 两个很详细的shell 实例代码相关的知识,希望对你有一定的参考价值。
两个很详细的shell 实例 一般编程步骤 现在我们来讨论编写一个脚本的一般步骤 任何优秀的脚本都应该具有帮助和输入参数 并且写一个伪脚本(framework sh) 该脚本包含了大多数脚本都需要的框架结构 是一个非常不错的主意 这时候 在写一个新的脚本时我们只需要执行一下copy命令 cp framework sh myscript 然后再插入自己的函数 让我们再看两个例子 二进制到十进制的转换 脚本 b d 将二进制数 (比如 ) 转换为相应的十进制数 这也是一个用expr命令进行数学运算的例子复制代码 代码如下:
#!/bin/sh # vim: set sw= ts= et: help() cat < b h convert binary to decimal USAGE: b h [ h] binarynum OPTIONS: h help text EXAMPLE: b h will return HELP exit error() # print an error and exit echo $ exit lastchar() # return the last character of a string in $rval if [ z $ ]; then # empty string rval= return fi # wc puts some space behind the output this is why we need sed: numofchar=`echo n $ | wc c | sed s/ //g ` # now cut out the last char rval=`echo n $ | cut b $numofchar` chop() # remove the last character in string and return it in $rval if [ z $ ]; then # empty string rval= return fi # wc puts some space behind the output this is why we need sed: numofchar=`echo n $ | wc c | sed s/ //g ` if [ $numofchar = ]; then # only one char in string rval= return fi numofcharminus =`expr $numofchar ` # now cut all but the last char: rval=`echo n $ | cut b $numofcharminus ` while [ n $ ]; do case $ in h) help;shift ;; # function help is called ) shift;break;; # end of options *) error error: no such option $ h for help ;; *) break;; esac done # The main program sum= weight= # one arg must be given: [ z $ ] && help binnum= $ binnumorig= $ while [ n $binnum ]; do lastchar $binnum if [ $rval = ]; then sum=`expr $weight + $sum ` fi # remove the last position in $binnum chop $binnum binnum= $rval weight=`expr $weight * ` done echo binary $binnumorig is decimal $sum #
该脚本使用的算法是利用十进制和二进制数权值 ( ) 比如二进制 可以这样转换成十进制 * + * = 为了得到单个的二进制数我们是用了lastchar 函数 该函数使用wc ?c计算字符个数 然后使用cut命令取出末尾一个字符 Chop函数的功能则是移除最后一个字符 文件循环程序 或许您是想将所有发出的邮件保存到一个文件中的人们中的一员 但是在过了几个月以后 这个文件可能会变得很大以至于使对该文件的访问速度变慢 下面的脚本rotatefile 可以解决这个问题 这个脚本可以重命名邮件保存文件(假设为outmail)为outmail 而对于outmail 就变成了outmail 等等等等复制代码 代码如下:
这个脚本是如何工作的呢?在检测用户提供了一个文件名以后 我们进行一个Array到 的循环 文件Array被命名为 文件 重命名为Array等等 循环完成之后 我们将原始文件命名为文件 同时建立一个与原始文件同名的空文件 调试 最简单的调试命令当然是使用echo命令 您可以使用echo在任何怀疑出错的地方打印任何变量值 这也是绝大多数的shell程序员要花费 %的时间来调试程序的原因 Shell程序的好处在于不需要重新编译 插入一个echo命令也不需要多少时间 shell也有一个真实的调试模式 如果在脚本 strangescript 中有错误 您可以这样来进行调试 sh x strangescript 这将执行该脚本并显示所有变量的值 shell还有一个不需要执行脚本只是检查语法的模式 可以这样使用 sh n your_script 这将返回所有语法错误 我们希望您现在可以开始写您自己的shell脚本 希望您玩得开心 cha138/Article/program/yxkf/201404/30420相关参考
本文为大家详细介绍下面向对象的继承以及如何实现批量实现面向对象感兴趣的可以参考下哈希望对大家有所帮助 复制代码代码如下:cha138/Article/program/Java/JS
这是一款简单的asp教程添加数据代码程序接受用户提交过来的数据再保存到数据库教程中很方便等的哦下面来看个详细的说明实例吧 举例如在字段名处输入:usernamepasswordemailtelp
大部分人在写Shell过滤进程的时候都会使用grep在psaux的输出结果中查找指定的进程但此时也会把grep进程也显示出来比如查找pptpd进程会匹配出来两条 复制代码代码如下: [root@s
知识大全 oracle中怎样从sql*plus向shell传递变量
很多人在实际的工作和学习中都遇到了无法通过sqlplus向shell传递变量下面我们来介绍一个实例脚本来进行折中处理 > 下面我们再来介绍另一个实例方法 >>>cha138/Artic
详细介绍SQL交叉表的实例 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 很简单的一个东西见网上
网页漂浮广图片特效这种特效我们总是很喜欢鼠标指向图片后图片停止移动cha138/Article/program/Java/Javascript/201311/25462
这篇文章介绍了gridpanel动态加载数据的实例代码有需要的朋友可以参考一下 复制代码代码如下:cha138/Article/program/Java/JSP/201311/20
Javamail操作指南:实例代码解析 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 怎样才算比
这篇文章介绍了aspnet数据绑定的实例代码有需要的朋友可以参考一下 复制代码代码如下:cha138/Article/program/net/201311/14140
PHP采集代码实例 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!cha138/Artic