Chinaunix首页 | 论坛 | 博客
  • 博客访问: 143157
  • 博文数量: 43
  • 博客积分: 810
  • 博客等级: 军士长
  • 技术积分: 430
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-03 02:39
文章分类
文章存档

2011年(43)

分类:

2011-06-27 08:46:11

原文地址:shell编程技巧小结-2 作者:努力小伙

1、开发功能复杂的,代码数量很大的脚本时,使用 source 命令,以将多个功能模块组合起来,增加脚本的可读性。

例子

Bash.file为一个脚本,内容如下
.....
source scripts/InstallSoftware.sh
source scripts/Module.sh
source scripts/var.sh
......
......

通过这种形式将目录scripts下的三个脚本调用进来,在脚本的下面就可以利用调用进来的脚本里面的函数和变量了。

2、在脚本或者crontab中使用svn,出现“.....utf8,can't convert”错误时,可以临时设定本地的LC_CTYPE解决
                      
  1. export LC_CTYPE=en_US.UTF-8       #脚本中的解决方法

  2. LANG=en_US.UTF8                   #crontab中的解决方法

3、使用递归,由于递归的范围很广,这里只是简单的shell中使用递归的举例

  1. CheckInput(){                     #检查GenInput的输入的合理性的函数

  2.         GenInput                  #这是一个接受用户输入的函数
  3.         cat install.log           #用户的输入存放在这个install.log文件中
  4.         read -p "检查输入是否正确(y/n):" Anwser

  5.         case $Anwser in           #判断输入的是y还是n

  6.                 y|Y) true;;       #如果用户经过检查正确后,什么也不做,执行后面的代码

  7.                 n|N) CheckInput;; #如果用户发现上次的输入有误,则这里进行自己调用自己实现递归

  8.         esac

  9. }

4、使用test对字符串为空串进行判定

  1. test -z $string                   #$string为空串返回true
  2. test -n $string                   #$string为空串返回false

5、使用convert命令(由Imagemagic软件包提供)对图像进行压缩

  1. convert  org.jpg  --quality  60  new.jpg #将图片org.jpg 的质量压缩到原来质量的60%,新生成的图片为new.jpg

…… ^_^ 经常遇到朋友叫帮忙压缩图片质量,因为他们使用的是PS,对电脑内存要求较高,后来发现linux下进行图片质量压缩很方便,当然convert的功能很多,包括转换格式,插入说明文字等等,在脚本中使用的话可以批量处理图片

6、linux下的操作快捷方式(这个应该不属于shell变成范畴)

  1. cd -                              #回到上次所在目录
  2. !str                              #直接使用距离当前最近的一个以str开头的并且执行了的命令
这次是这个系列的第二篇,未完待续....

阅读(801) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~