摘要: 做完了上面的第25、26个脚本后,我们想要自己手动增加一个本地词典,这样就不用在每次遇到一个新的单词后,都会一遍遍的报错了。代码: 1 #!/bin/sh 2 3 # spelldict.sh -- 使用'aspell'特性以及一些过滤以便 4 # 允许命令行拼写检查给定的输入文件 5 6 # 不可避免的,你会发现,有些词汇是错误的,但你认为 7 # 它们是正确的。简单的将它们保存在一个文件中,一次 8 # 一行,并且确定变量'okaywords'指向这个文件。 9 10 okaywords="$HOME/okaywords"11 tempo 阅读全文
posted @ 2013-01-07 10:34 十舍七匹狼 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 本脚本用来检查、修复拼写错误。上一个脚本时只能对单个单词检查、修复,而这个脚本的操作对象是一个文件,并且和用户是交互式进行的。代码: 1 #!/bin/sh 2 3 # shpell.sh -- 一个交互式的拼写检查程序 4 # 该程序允许你单步调试文档中所有已知的拼写错误 5 # 原始版本的文件会被另存为一个.shp后缀的文件 6 # 新版本文件会则会替换旧的 7 # 8 # 注意: 你需要一个标准的'spell'命令来完成这些工作, 9 # 这些命令在你的系统上可能是以下之一: aspell, ispell, pspell 10 11 tempfile="/tmp 阅读全文
posted @ 2013-01-06 15:58 十舍七匹狼 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 一个检查单词拼写的小程序。非常简单。代码: 1 #!/bin/sh 2 3 spell="ispell -l" 4 5 if [ $# -lt 1 ]; then 6 echo "Usage: `basename $0` word or words" >&2 7 exit 1 8 fi 9 10 for word11 do12 if [ -z $(echo $word | $spell) ]; then13 echo "$word: spelled correctly."14 else15 echo "$wor 阅读全文
posted @ 2013-01-05 10:42 十舍七匹狼 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 之前写了第九个脚本,允许命令行调用bc进行浮点计算,所以现在必然要写一个交互式的,基于命令行的计算器封装脚本。它有一个优点:即使加上帮助信息,也很短。代码: 1 #!/bin/sh 2 3 # calc.sh -- 一个看起来像是bc的前端的命令行计算器 4 5 scale=2 6 7 show_help() 8 { 9 cat << EOF10 In addition to standard math function, calc also supports11 12 a % b remainder of a/b13 a ^ b exponential... 阅读全文
posted @ 2013-01-04 11:10 十舍七匹狼 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 在Unix命令行上,没有类似于windows或Mac的提示便笺功能,比如方便的记录一个电话号码或是别的什么提示。这个脚本就是解决这个问题的。 第一个脚本,remember.sh 可以让你把任意的小段语句录入到文件中去。如果对该脚本进行无参调用,它就会读入标准输入,如果带有参数,它就会把那些参数保存到文件中去。 第二个脚本remindme.sh,如果无参调用它,它就会显示该便笺的内容,如果带有参数,它就会在便笺中搜索特定内容。代码:运行脚本:先写点内容到便笺.remember中,然后可以搜索下。运行结果: 1 $ remember 2 Enter note, end with ^D: 3 ... 阅读全文
posted @ 2013-01-04 10:24 十舍七匹狼 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 一个日期命令最基本的需求就是显示你所在时区的日期和时间。但是如果你有用户是跨时区的呢?或者,如果你有朋友或是同事时在不同的地区呢?你就会一直搞不清楚那儿现在到底是个什么日子了,比如卡萨布兰卡、梵蒂冈或是悉尼。 现在大部分的Unix系统都有一个date命令,它的后台是一个时区数据库。它的位置一般是在目录/usr/share/zoneinfo下,它列出了超过250个不同的地区,并且可以明确表示出各个不同地区的时间。因为date命令注重的是时间变量TZ,该变量可以被设置为不同的已知地区,那么核心的功能可以通过如下表示:TZ="Africa/Casablanca" date 通过一 阅读全文
posted @ 2012-12-27 16:32 十舍七匹狼 阅读(153) 评论(0) 推荐(0) 编辑
摘要: Unix的man命令有一个非常有用的选项,它产生一个手册页的列表,该列表的描述会包括特定单词。通常这个功能用man -k来实现,但它同样也可以通过apropos或是whatis命令实现。 使用man命令来搜索一个词是很有用的,但这只完成了一半,因为一旦你得到了一系列的匹配,你可能仍然会觉得你自己要执行一个强力搜索,一次一个手册页的来查找你所需要的特定命令, 作为一个小巧的备选项,这个脚本生成了一个可能的手册页列表,它匹配一个特定的模式,然后接着就搜索每一个匹配到的手册页来查找第二个模式。为了给输出一点约束,它也允许用户指定要搜索哪个手册页。 小贴士: man手册页是分数字组成的:1 = 用户. 阅读全文
posted @ 2012-12-25 10:10 十舍七匹狼 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 很多计算机爱好者是从Unix或是Linux操作系统学起的,然而还有很多人是从别的系统学起的,使用不同的命令、不同类型的交互方式。比如说,很有可能你公司的员工更习惯于使用DOS命令,而不是一个shell的解提示器。使用一系列的alias可以稍微减少一点这种差异,比如说将dos命令映射城unix的ls命令:alias DIR=ls 但如果用户学习过在dos下/w表示宽列表格式的话,这种映射就没什么效果了。因为unix命令会警告没有/w目录。取而代之,像之前写的那些改变输入的封装器一样,接下来的DIR脚本就是用来映射一种类型命令选项到另一种环境中去。代码: 1 #!/bin/sh 2 3 # D.. 阅读全文
posted @ 2012-12-24 10:25 十舍七匹狼 阅读(208) 评论(0) 推荐(0) 编辑
摘要: Linux系统上一个很有用的,但不一定会出现在别的Unix版本上的命令是 locate。该命令会搜索一个预建的文件名数据库来查找特定的正则表达式。要是想要快速查找主要的.cshrc文件的位置呢?下面的是用locate的解决方法:1 locate .cshrc2 /.Trashes/501/Previous Systems/private/etc/csh.cshrc 3 /OS9 Snapshot/Staging Archive/:home/taylor/.cshrc 4 /private/etc/csh.cshrc 5 /Users/taylor/.cshrc 6 /Volumes/110G. 阅读全文
posted @ 2012-12-21 17:11 十舍七匹狼 阅读(166) 评论(0) 推荐(0) 编辑
摘要: ls命令是Unix命令行的基础,该命令中有一个元素在我而言不得要领:指示目录的大小。当一个目录被列出来的时候,程序要么是列出文件的内容,要么是显示文件数据的1024字节块的数目。一个典型的ls -l的输出如下:drwxrwxr-x 2 taylor taylor 4096 Oct 28 19:07 bin 但是,事实上,这些内容并不是很有用处,因为我想要知道的是给定目录中有多少个文件。这就是这个脚本要达到的目的,生成一个漂亮的多层文件、目录列表,同时显示了文件大小或是目录中的文件数。代码: 1 #!/bin/sh 2 3 # formatdir.sh -- 输出一个界面友好、功能有效的目... 阅读全文
posted @ 2012-12-20 16:41 十舍七匹狼 阅读(979) 评论(0) 推荐(1) 编辑