仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 875|回复: 12
打印 上一主题 下一主题

[其他Linux] Linux制作之一个Shell工具:jsondiff.sh仓酷云

[复制链接]
透明 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:21:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
在这里你会学到更多的知识,学习linux,更要学习一种geek的精神,python之禅中也说过:以总结分享为荣,以跪求其解为耻;
我比来忙侧重构一个汗青项目,不外因为客不雅情形所限,没有测试用例可用,以致于我不能不手动对照新旧代码的了局集是不是分歧来判别对错,其实让人末路火。
由于了局集格局为json,以是我便写了一个Shell工具:jsondiff.sh,源代码以下:
  1. #!/bin/bashRM=/bin/rmPHP=/usr/bin/phpCURL=/usr/bin/curlDIFF=/usr/bin/diffVIMDIFF=/usr/bin/vimdiffCOLORDIFF=/usr/bin/colordiffusage(){echo"Usage:$0--uri=<URI>--old=<OLD>--new=<NEW>"}format(){$PHP-Rfunctionksort_recursive(&$array){if(!is_array($array)){return;}ksort($array);foreach(array_keys($array)as$key){ksort_recursive($array[$key]);}}$options=JSON_PRETTY_PRINT|JSON_UNESCAPED_UNICODE;$array=json_decode($argn,true);ksort_recursive($array);echojson_encode($array,$options);}request(){$CURL-s-H"Host:$1""http://$2$3"}evalset--$(getopt-q-o"h"-l"host:,uri:,old:,new:,vim,help"--"$@")whiletrue;docase"$1"in--host)HOST=$2;shift2;;--uri)URI=$2;shift2;;--old)OLD=$2;shift2;;--new)NEW=$2;shift2;;--vim)VIM="Y";shift1;;-h|--help)usage;exit0;;--)break;;esacdoneif[[-z"$URI"||-z"$OLD"||-z"$NEW"]];thenusageexit1fiif[[-z"$HOST"]];thenHOST="www.foobar.com"fiOLD_FILE=$(mktemp)NEW_FILE=$(mktemp)request"$HOST""$OLD""$URI"|format>$OLD_FILErequest"$HOST""$NEW""$URI"|format>$NEW_FILEif[["$VIM"=="Y"]];then$VIMDIFF$OLD_FILE$NEW_FILEelif[[-x"$COLORDIFF"]];then$COLORDIFF-u$OLD_FILE$NEW_FILEelse$DIFF-u$OLD_FILE$NEW_FILEfi$RM-f$OLD_FILE$RM-f$NEW_FILE
复制代码
常常有些朋友在Linux论坛问一些问题,不过,其中大多数的问题都是很基的。
只想知道 该用户已被删除
沙发
发表于 2015-1-20 20:57:32 | 只看该作者
上课传授的不仅仅是知识,更重要的是一些道理,包括一些做人的道理,讲课时也抓住重点,循序渐进,让同学理解很快;更可贵的是不以你过去的成绩看问题.
乐观 该用户已被删除
板凳
发表于 2015-1-30 05:11:38 | 只看该作者
Windows有MS-DOS?方式,在该方式下通过输入DOS命令来操作电脑;Linux与Windows类似,也有命令方式,Linux?启动后如果不执行?X-WINDOWS,就会处于命令方式下,必须发命令才能操作电脑。?
爱飞 该用户已被删除
地板
发表于 2015-2-6 07:28:46 | 只看该作者
随着Linux应用的扩展,出现了不少Linux社区。有一些非常优秀的社区往往是Linux高手的舞台,如果在探讨高级技巧的论坛张贴非常初级的问题经常会没有结果。
老尸 该用户已被删除
5#
发表于 2015-2-7 01:36:17 | 只看该作者
选择交流平台,如QQ群,网站论坛等。
海妖 该用户已被删除
6#
发表于 2015-2-7 21:30:50 | 只看该作者
随着实验课程的结束,理论课也该结束了,说实话教OS的这两位老师是我们遇到过的不错的老师(这话放这可能不太恰当).
飘灵儿 该用户已被删除
7#
发表于 2015-2-7 23:44:35 | 只看该作者
工具书对于学习者而言是相当重要的。一本错误观念的工具书却会让新手整个误入歧途。目前国内关于Linux的书籍有很多不过精品的不多。
小魔女 该用户已被删除
8#
发表于 2015-2-17 10:52:20 | 只看该作者
对Linux命令熟悉后,你可以开始搭建一个小的Linux网络,这是最好的实践方法。Linux是网络的代名词,Linux网络服务功能非常强大,不论是邮件服务器、Web服务器、DNS服务器等都非常完善。
灵魂腐蚀 该用户已被删除
9#
发表于 2015-3-2 22:53:18 | 只看该作者
Linux是参照Unix思想设计的,理解掌握Linux必须按照Unix思维来进行。思想性的转变比暂时性的技术提高更有用,因为他能帮助你加快学习速度。
再现理想 该用户已被删除
10#
发表于 2015-3-3 03:40:48 | 只看该作者
要增加自己Linux的技能,只有通过实践来实现了。所以,赶快找一部计算机,赶快安装一个Linux发行版本,然后进入精彩的Linux世界,相信对于你自己的Linux能力必然大有斩获。
简单生活 该用户已被删除
11#
发表于 2015-3-11 09:05:13 | 只看该作者
其实老师让写心得我也没怎么找资料应付,自己想到什么就写些什么,所以不免有些凌乱;很少提到编程,因为那些在实验报告里已经说了,这里再写就多余了。
若天明 该用户已被删除
12#
发表于 2015-3-18 01:58:40 | 只看该作者
我感觉linux的学习,学习编程~!~!就去学习C语言编程!!
精灵巫婆 该用户已被删除
13#
发表于 2015-3-25 08:58:21 | 只看该作者
在系统检测不到与Linux兼容的显卡,那么此次安装就可能不支持图形化界面安装,而只能用文本模式安装等等。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-22 01:36

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表