最近在做一个项目的时候,需要在Linux中安装一些工具软件。大概有5个软件吧。
我们的子公司开发后,做了一个安装指南。仔细一看内容,发现有一些问题。
问题1:有不少笔误。比如错字,还有大小写不分等等。
问题2:有一些很模糊的步骤。
问题3:有一些步骤中要确认某个东西,比如JAVA HOME变量,但是没有说明去哪里确认。
问题4:5个软件的安装都是解压,配置,编译,安装的流程。
首先对问题1来说,虽然是很低级的错误,但正因为是很低级的错误,会让客户对你的满意度大大降低。因为你太粗心了,会感觉你很不负责任的的。
对问题2来说,作为一个提交给客户的东西,不能有模糊的东西。如果自己没有搞清楚,不写进去比较好。因为写进去了客户还是会问你的。
对问题3来说,写的太粗。如果客户都是和开发者一样的水平的话,当然写个大概就可以了。但对于大多数的客户来说都不是很懂的。即使对于实力比较强的客户来说,也不能太粗了。写的详细一方面说明你认真负责,另一方面也说明你对客户很体贴。会增加相互的信任感。
对问题4来说,虽然没有什么太大的问题,但是太多麻烦,不够亲切。客户操作起来比较费时,费事。从客户的角度来说,越简单越好。
那怎么才能使安装指南简单易操作呢?就上面的问题4来说,Linux中我们可以写一个shell来batch安装。这样客户只要执行一些shell就完事了。
因此对开发者来说,会shell编程是一项必要的技能。shell一般有C shell,顾名思义就是类似C语言的风格。还有B shell。
比如想先判断某个包是否已经安装了,如果安装了就不必重新安装了。
例子:
rpm -qa |grep libpng
if [ $? -ne 0 ]; then
tar -xvf XXXpng.tar.gz
cd XXXpng
./confgure --with-prefix=/usr/local
make
make install
echo "png 安装了。"
else
echo "已经安装过了,不需要再安装了。"
fi
还有比如系统中有多个JAVA版本,我在编译的时候不想用环境变量的那个版本,一般默认是用环境变量的那个版本来编译。这个时候我们可以临时设置JAVA HOME。
JAVA_HOME=$JAVA_HOME
export JAVA_HOME
安装的时候,文件的删除,新建,包的拷贝等等都能用到。
这样自己写一个安装shell文件后,对别人来构建环境是非常方便的。特别是对客户来说,能够减轻客户的负担,增加相互的信任。