五.Bash Shell编程基础入门实战
知识回顾 运行脚本我们一般用sh 不用单独去加执行权限
OLDBOY=10只适用当前环境 局部变量
export OLDBOY把它设置为临时的环境变量应为已经=10了所以不用export OLDBOY=10
一般我们修改增加的都在/etc/profile文件里
了解跳板机的脚本放在/etec/profile.d/目录下 要求脚本要有执行权限chmod +x 脚本名
用户开机就会运行下面的脚本
一般用来判断参数的个数 是否有错误
$? 判断上一个命令是否执行正确
装完软件可以查看结果是否正确
编写脚本
read命令
read命令放入脚本
if 如果 或 条件
$num1 大于 $num2 就显示出来
一般常用这种 greater大于 than比 less较小的 else另外 其他的
数量不对怎么解决20后面不识别
-ne 不等于2 not equal to不等于的简写
exit 退出脚本 前面的条件达不到就退出
Usage: please input 用法:请输入
三种情况都有了尽量用整数 小数shll不擅长 最后这个了解即可
1带入变量num中 再在下面的命令中执行完成显示 然后继续带入2
for num in {001..100}
do
echo "the $num number is :$num"
done
优化linux开机启动项目,只保留以下其他都关了
3.服务名字加入for循环
chkconfig|egrep "crond|sshd|rsyslog|sysstat|network" -v|awk '{print $1}'
取出想要关掉的服务 $(...)留下找到的结果
for name in $(chkconfig|egrep "crond|sshd|rsyslog|sysstat|network" -v|awk '{print $1}')
do
echo "chkconfig $name off"
done
先不直接运行命令echo查看结果
得到的结果无误
4.执行并检查
for name in $(chkconfig|egrep "crond|sshd|rsyslog|sysstat|network" -v|awk '{print $1}')
do
chkconfig $name off
done
只有想要的服务在3运行模式开启了
创建用户 随机密码
一
for id in stu{01..10}
do
useradd $id;pass=$((RANDOM+1000000)); echo "$pass"|passwd --stdin $id;echo -e "$id\t`echo "$pass"`">>/server/scripts/user.txt
done
二
linux运行脚本调试的技巧
sh -x 脚本--会显示脚本执行的过程
过程中+或++就是说明执行的命令
没有就是显示出来的内容
总结:
1.特殊变量 位置$1 $2 $0 状态$? 其他$#表示脚本里参数的个数
2.普通变量命名规则
3.普通变量与环境变量的区别 实际就是export的作用
4.与用户有关的文件和目录~ .profile.d
5.条件表达式,判断,循环
6.优化系统启动项目
7.批量添加用户并设置随机密码