正文
8
)对文件进行打包备份时,必须使用相对路径进行打包,如:
严禁将全路径打入
tar
包,
如:
9
)对于打包后还需进行压缩的文件,建议使用管道进行处理,如:
不建议两部分分开执行:
10
)使用
ps
命令筛选进程时,如能确定进程所属用户,必须在参数中指定用户名称,如其输出作为
kill
命令的输入,则必须指定进程所属用户,如:
这里介绍的主要是日常shell编写中遇到比较隐蔽或看似简单,却难以发现的“坑”,编写中应尽量避免使用,使用更优的方法避免重蹈覆辙。
1
)更新文件使用
>
不用
cp
使用
>
修改和回退文件时,保留原文件的属组和权限,避免使用
cp
时权限属组被修改。
2
)使用
kill
前确认
关键字用
-w
精确匹配字段;
kill
前后都保留现场
,
两次
ps -ef|grep -w
关键字
|grep -v grep >>/tmp/kill_
进程名
_.backup
;
删除前要校验,获取进程号是否唯一,避免多杀或误杀的情况。
3
)使用
rm
前确认
删除前备份删除对象信息,避免使用变量,直接使用文件和目录名;
如果必须使用时,删除前,建议检查避免误删,删除目录和文件信息保留:
建议禁用
find
遍历根目录进行查找,同时删除前进行确认,避免多删或误删的情况。
4
)
For
循环的坑
for
循环的
in
条件按空格来区分,避免进入不正确或死循环。