仓酷云

标题: Linux制作之一个Shell工具:jsondiff.sh仓酷云 [打印本页]

作者: 透明    时间: 2015-1-18 11:21
标题: Linux制作之一个Shell工具:jsondiff.sh仓酷云
在这里你会学到更多的知识,学习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
上课传授的不仅仅是知识,更重要的是一些道理,包括一些做人的道理,讲课时也抓住重点,循序渐进,让同学理解很快;更可贵的是不以你过去的成绩看问题.
作者: 乐观    时间: 2015-1-30 05:11
Windows有MS-DOS?方式,在该方式下通过输入DOS命令来操作电脑;Linux与Windows类似,也有命令方式,Linux?启动后如果不执行?X-WINDOWS,就会处于命令方式下,必须发命令才能操作电脑。?
作者: 爱飞    时间: 2015-2-6 07:28
随着Linux应用的扩展,出现了不少Linux社区。有一些非常优秀的社区往往是Linux高手的舞台,如果在探讨高级技巧的论坛张贴非常初级的问题经常会没有结果。
作者: 老尸    时间: 2015-2-7 01:36
选择交流平台,如QQ群,网站论坛等。
作者: 海妖    时间: 2015-2-7 21:30
随着实验课程的结束,理论课也该结束了,说实话教OS的这两位老师是我们遇到过的不错的老师(这话放这可能不太恰当).
作者: 飘灵儿    时间: 2015-2-7 23:44
工具书对于学习者而言是相当重要的。一本错误观念的工具书却会让新手整个误入歧途。目前国内关于Linux的书籍有很多不过精品的不多。
作者: 小魔女    时间: 2015-2-17 10:52
对Linux命令熟悉后,你可以开始搭建一个小的Linux网络,这是最好的实践方法。Linux是网络的代名词,Linux网络服务功能非常强大,不论是邮件服务器、Web服务器、DNS服务器等都非常完善。
作者: 灵魂腐蚀    时间: 2015-3-2 22:53
Linux是参照Unix思想设计的,理解掌握Linux必须按照Unix思维来进行。思想性的转变比暂时性的技术提高更有用,因为他能帮助你加快学习速度。
作者: 再现理想    时间: 2015-3-3 03:40
要增加自己Linux的技能,只有通过实践来实现了。所以,赶快找一部计算机,赶快安装一个Linux发行版本,然后进入精彩的Linux世界,相信对于你自己的Linux能力必然大有斩获。
作者: 简单生活    时间: 2015-3-11 09:05
其实老师让写心得我也没怎么找资料应付,自己想到什么就写些什么,所以不免有些凌乱;很少提到编程,因为那些在实验报告里已经说了,这里再写就多余了。
作者: 若天明    时间: 2015-3-18 01:58
我感觉linux的学习,学习编程~!~!就去学习C语言编程!!
作者: 精灵巫婆    时间: 2015-3-25 08:58
在系统检测不到与Linux兼容的显卡,那么此次安装就可能不支持图形化界面安装,而只能用文本模式安装等等。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2