09Jun
最近,在看一个项目的Perl脚本,遇到了一些晦涩丑陋的符号,想到搜索引擎上查找,但无奈搜索引擎把这些特殊符号都过滤掉了,完全查不到其用法和教程。
无意间搜索到了一个讲解Perl的网页,内容很全面,符号很丰富,直接ctrl-f搜索定位到特殊符号,直接看用法和实例,两个字:“好使”。
定睛看了下网页来源,链接地址是:http://ind.ntou.edu.tw/~dada/cgi/Perlsynx.htm
百度了一下,www.ntou.edu.tw是国立台湾海洋大学的官方网站,ntou是National Taiwan Ocean University的缩写。
如果大家想学习Perl的知识,ntou的确是个很好的推荐。
ps:学黑客到山东蓝翔,学Perl到台湾海洋,恩,挺押韵的~
over~
Tags: perl, 台湾海洋大学, 查询, 符号
02Apr
转自:http://www.cublog.cn/u/31088/showart_1085999.html
方法很简单:
<?php
$link=mysql_connect("localhost","root","123");
if(!$link) echo "FAILD!";
else echo "OK!";
?>
其中mysql_connect( )函数的参数依次为:mysql服务器名或IP、mysql用户名,mysql用户密码。
over~
Tags: mysql, php, 测试, 连接
11Mar
编写一个bash脚本时,需要用户输入一个密码,方可继续后续流程,但是又要保证用户输入的密码不会被别人看到,因此排除了通过参数将密码传入脚本的方案。
不绕圈子,揭晓答案:设置终端状态为“字符不回显”(如果你了解过termios的话,也一定听说过)
方法就是:
stty -echo #设置输入字符不回显
#此处用read语句接收用户输入的内容
stty echo #取消不回显状态
ps: 谢谢symclark给出的好建议!他的建议是使用read的-s选项直接就可以实现输入内容不回显,不必像我文章中写的那么麻烦。:)
over~
Tags: bash, linux, stty, 回显, 密码, 脚本
10Mar
原创文章属于《Linux大棚》博客,博客地址为http://roclinux.cn。文章作者为 rocrocket。
为了防止某些网站的恶性转载,特在每篇文章前加 入此信息,还望读者体谅。
===
[正文开始]
网上有一些朋友问如何计算两个时间之间的差值,正好我也遇到了此问题,琢磨了一下,写了一个bash脚本,在此和大家共享一下。
这个方法有一个小前提,就是你记录时间的方法是:data +”%Y-%m-%d %H:%M:%S”。
脚本内容如下:
time_distance=$(expr $(date +%s -d “2010-03-10 17:36:23″) – $(date +%s -d “2010-03-09 13:36:23″)) ; hour_distance=$(expr ${time_distance} / 3600) ; hour_remainder=$(expr ${time_distance} % 3600) ; min_distance=$(expr ${hour_remainder} / 60) ; min_remainder=$(expr ${hour_remainder} % 60) ; echo “time_distance is ${hour_distance} hour ${min_distance} min ${min_remainder} sec”
time_distance变量其实就是算出两个时间之间的秒数差。有了这个秒数差,后面的逻辑就清晰多了。以后再也不用为计算时间差愁喽~
over~
Tags: bash, linux, script, time, 时间差, 脚本, 计算
04Oct
“命令TOP TEN”的通用脚本已经家喻户晓了,在此,从Shellex那里贴过来一个,
没有用过的朋友可以试试,看看自己最常用的命令都是啥?
history | awk '{CMD[$2]++;count++;} END { for(a in CMD) {print CMD[a] " " CMD[a]/count*100 "% " a}}' \
| grep -v "./" | column -c3 -s " " -t | sort -nr | nl | head -n10
ps:其实,我想看到rm -rf /,哈哈
ps2:贴下我自己的,应该代表了大多数人的情况:
1 318 31.8% ls
2 244 24.4% cd
3 113 11.3% vi
4 34 3.4% ps
5 33 3.3% cat
6 26 2.6% history
7 24 2.4% less
8 18 1.8% pstree
9 14 1.4% nohup
10 12 1.2% sudo
over~
Tags: history, shell, top ten, 命令, 排名, 频率
01Oct
看IBM developeworks的一篇文章,
里面讲解了watch命令,这个命令大概的作用就是每隔特定时间运行一次用户设定的命令。
在其文章中,还相应的给出了一个精简版的simplewatch.sh的实现: 我想阅读全文 »
Tags: linux, simplewatch, watch, 监视, 脚本
20Sep
今天编写php程序,引用了之前写过的一小段js代码过来,用于检查表单完整性的。
没想到一直跑不通,javascript就是不生效,联想到今天重装了php,联想到系统升过级,联想到firefox版本问题…..(浮想联翩)
最后的最后,终于发现症结所在了,是这样的:
上次写完js代码,觉得应该加些注释,于是就用#当注释符,加了一些注释。
正确的js代码的注释符是//或者/* */,于是就造成了我的这种窘境。
ps1: shell程序写多了,连注释符的习惯都被同化了…
ps2: 推荐一个学习javascript的小站点,很朴实,很实用:)
over~
Tags: javascript, php, 注释, 脚本, 语法
31Aug
当你在执行shell命令时,如果遇到类似“The parameter list is too long”的错误提示,那么往往是因为你的通配符匹配的文件太多而导致的。比如 rm -f *.*,而且正好你的当前目录下又有超多的文件。
原来,每一个shell都有自己的系统限制值,我们可以用getconf命令来获取到这些值。
$ getconf ARG_MAX
131072
这个就是shell对通配符匹配的限制了,单位是字节,也就是说参数字节长度最大是13万1千零72字节。超过这个长度,就会受到上述的报警了:)
解决方法是:不用rm,改用find . -name “*.*” -exec rm -f {} \;命令。
over~
Tags: parameter list too long 参数 数量 限制
29Jul
今天在公司上课,偷闲逛了下水木,学了一个bash的小技巧,介绍给大家!
!$ 表示上一个命令的最后一个参数。如果你首次登陆终端,那么它会取history的最后一行命令的最后一个参数。
试试看!
ls -hl /rocrocket/software/program/git/bin/
这时,你就可以用cd !$来进入到这个深层目录啦!
ps: 如果你最后一个参数是双引号括起来的,那么!$也会很聪明的看出来。
over~
Tags: bash, 参数, 技巧, 最后
05Jun
perl语言里面有一个通则,学perl的人都知道,那就是”只要不会因为移除括号而改变原意,括号就可加可不加。“
比如,chomp($line),也可以写成chomp $line。 比如push(@array,1..10)可以写成push @array,1..10。
这样的机制,我感觉没什么意思。看似好像给了用户很大的自由,但其实是为程序的阅读和编写增加了混乱。哎,不知道larry wall怎么就这么追求自由,自由得有些混乱。
有些自由的确是从用户的角度出发的,那样的自由才是好的。比如在shell中,我们将标准输出和标准错误输出一并重定向,我们使用>&和&>都是正确的。我觉得这就减轻的用户的记忆负担,是为用户着想。
总之,我感觉,有些自由是肤浅的自由,有些自由是体贴的自由。
我想要自由,但不想要混乱。
over~~
Tags: perl, 括号, 省略, 自由
Recent Comments