Shell cat重定向到文件——批量写入利器

一.起因

今天被基友催着开始折腾hadoop集群的问题,考虑到要批量部署以及统一性的问题准备写个部署脚本,对bash脚本的话我也写过不少了,然而没想到还是碰到了问题。
因为要安装nutch、hbase、apache-ant、jdk等一堆程序,所以环境变量也有很多需要添加的,所以我没考虑使用echo逐行输入,而是使用了cat重定向到文件的方法,那么问题就来了,作为环境变量,那必然会有一大堆的"$"符号,于是乎……它们全被解析成具体的路径了,这就很尴尬。

二.解决方案

在手动修理完后我开始研究怎么样阻止这一悲剧的发生,经过一波搜索,我找到了两个办法。
①.另辟蹊径,既然你要变,我就让你先转义,看你还怎么变,在所有"$"前添加"\",然后就变成了"\$",这样便没有了问题。
②中规中矩,追根究底。按照V2上一篇帖子的说法,我去查了查shell相关的文档,然后发现这个是有提到解决办法的,那就是在EOF两边加上引号,如下

这样便会阻止在重定向输出过程中环境变量被替换的问题了。

Centos6(EL6)安装Python2.7——与时俱进(?)

一.缘起

Python的版本貌似更新的还是蛮快的,然而这和el6并没有关系……作为以稳定性著称的系统,各种包更新的确实是有点慢了(不是有点慢好吗,是根本没有啊),然而最近发现的一些有趣的轮子要求的Python版本竟然没有2.6……这就很尴尬了,我一开始还没在意,在各种报错之后才去看了下system requirement,然后_(:з」∠)_,我选择死亡,不得已只能想办法装个Python2.7了。

二.条条大路(???)

在网上以各种姿势搜了一下,发现大概是有三种方法来安装Python2.7(其中两种我还真是没见过)

①.RPM大法,这个是最方便的,然而那个RPM包我懵逼了,官方源貌似已经没这个包了,靠迅雷离线给强行下到了(我勒个擦,真的强)———该方法不推荐,包不够新,而且不保证出奇怪的问题

网上教程提供的基本上是

http://li.nux.ro/download/nux/dextop/el6/x86_64/python27-libs-2.7.3-6.2.el6.nux.x86_64.rpm

http://li.nux.ro/download/nux/dextop/el6/x86_64/python27-2.7.3-6.2.el6.nux.x86_64.rpm

http://li.nux.ro/download/nux/dextop/el6/x86_64/tkinter27-2.7.3-6.2.el6.nux.x86_64.rpm

http://li.nux.ro/download/nux/dextop/el6/x86_64/python27-devel-2.7.3-6.2.el6.nux.x86_64.rpm

这四个,然而全是404……喂喂喂,你们一个个写(抄)教程的能不能考虑下时效性,不要睁着眼说瞎话啊。

恩,然后我靠神秘的迅雷离线给抢救回来了,请参照如下命令安装

然后安装pip啥的就不说了,网上一大堆。 阅读全文→

为Chrome重新安装网盘助手(导出下载为Aria2)——为你的下载插上翅膀

一.起因

由于某些不可明说的原因,网盘助手(BaiduExporter)这款能够将百度网盘下载导出为aria2命令并且远程下载的神器被Chrome商店下架了,这就很尴尬,要知道度娘盘的限速实在是感人肺腑,Win平台还好,有各种破解版的百度云管家,但是OSX和Linux平台就尴尬了,总不能为了下个东西折腾来折腾去装虚拟机吧,所以我们还是得找办法安装这款插件。

二.安装过程

虽然在Chrome商店下架了,不过作者还是没有放弃(好样的),在Github依旧各种更新和解决Bug,所以我们就有了重新安装的基础(虽然找旧版也行,但是旧版很大可能性在以后被度娘给XX了),Github传送门

首先我们当然要做的是下载,点击Clone or download——Download ZIP,然后找个地方解压,我们会得到如下一堆文件(夹)

sp160906_223754

其中aria2c下面是一些说明和配置文件以及方便在win下使用的小工具(脚本)

而chrome文件夹下显然就是我们此次的目标了,我们有两种方法安装,首先先打开Chrome的拓展程序页面,然后勾选开发者模式

sp160906_224025

①我们可以直接选择"加载已解压的拓展程序...",这是第一种方法,但是这个会有个比较讨厌的提示……每次打开Chrome都会有如下的蛋疼情况

sp160906_224329

虽然谷歌确实是好心……但强迫症真的是要死了,所以这个方法我选择放弃 阅读全文→