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解决
export LC_CTYPE=en_US.UTF-8 #脚本中的解决方法
LANG=en_US.UTF8 #crontab中的解决方法
3、使用递归,由于递归的范围很广,这里只是简单的shell中使用递归的举例
CheckInput(){ #检查GenInput的输入的合理性的函数
GenInput #这是一个接受用户输入的函数
cat install.log #用户的输入存放在这个install.log文件中
read -p "检查输入是否正确(y/n):" Anwser
case $Anwser in #判断输入的是y还是n
y|Y) true;; #如果用户经过检查正确后,什么也不做,执行后面的代码
n|N) CheckInput;; #如果用户发现上次的输入有误,则这里进行自己调用自己实现递归
esac
}
4、使用test对字符串为空串进行判定
test -z $string #$string为空串返回true
test -n $string #$string为空串返回false
5、使用convert命令(由Imagemagic软件包提供)对图像进行压缩
convert org.jpg --quality 60 new.jpg #将图片org.jpg 的质量压缩到原来质量的60%,新生成的图片为new.jpg
…… ^_^ 经常遇到朋友叫帮忙压缩图片质量,因为他们使用的是PS,对电脑内存要求较高,后来发现linux下进行图片质量压缩很方便,当然convert的功能很多,包括
转换格式,插入说明文字等等,在脚本中使用的话可以批量处理图片。
6、linux下的操作快捷方式(这个应该不属于shell变成范畴)
cd - #回到上次所在目录
!str #直接使用距离当前最近的一个以str开头的并且执行了的命令
请继续关注本系列文章,未完待续...