一、shell编程能实现脚本的高效化,通常使用vim编辑器。
通常以.sh结尾;
标准脚本文件首行#!/bin/bash表示默认的命令解释器,第二行#desc是一些描述信息。
二、变量的分类
局部变量(普通变量)
命名规则:必须以字母开头,只能由字母、数字和下划线组成。
推荐写法:驼峰写法,首个单词首字母小写,其它单词首字母大写
${var} 取变量的值
2.全局变量(环境变量)
命名规则:全大写
临时定义环境变量:export OLDBOY=10
env命令可查看系统的环境变量
全局环境变量配置文件:/etc/profile /etc/bashrc /etc/profile.d(当用户登录到系统,会自动运行其中的脚本)
用户环境变量配置文件:~/.bash_profile ~/.bashrc
3.特殊变量:位置变量:
$0:当前脚本的filename
$n:第几个参数
$#:脚本一共有多少个参数
特殊变量:进程状态变量:
$?:上一个命令的执行结果,如果正常返回0,如果异常,返回非0
三、条件表达式(测试表达式)
判断文件是否存在:[ -f /oldboy/oldboy.txt ] 存在返回0,不存在返回1
判断目录是否存在:[ -d /oldboy ] 存在返回0,不存在返回1
判断整数:等于 -eq [ 1 -eq 1 ]
不等于 -ne
大于 -gt
大于等于 -ge
小于 -lt
小于等于 -le
四、if条件判断
if [ $num1 -ge $num2];then ...
else ...
fi
五、for循环
for 变量名 in 列表
do 命令
done
六、优化Linux开机启动项目
只保留crond;sshd;network;rsyslog;sysstat;其它都关闭。
for name in $(chkconfig|egrep -v 'crond|sshd|network|rsyslog|awk '{print $1}'')
do chkconfig $name off
done