五.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

echo stu{01..02}|xargs -n1 useradd;
echo stu{01..02}:$((RANDOM+10000000))|xargs -n1 >/oldboy/pass.txt;
chpasswd < /oldboy/pass.txt 

linux运行脚本调试的技巧

 sh -x  脚本--会显示脚本执行的过程

过程中+或++就是说明执行的命令

没有就是显示出来的内容

 总结:

1.特殊变量 位置$1 $2 $0 状态$? 其他$#表示脚本里参数的个数

2.普通变量命名规则

3.普通变量与环境变量的区别 实际就是export的作用

4.与用户有关的文件和目录~ .profile.d

5.条件表达式,判断,循环

6.优化系统启动项目

7.批量添加用户并设置随机密码

 

 

posted @ 2018-03-22 23:33  寂静深林丶  阅读(172)  评论(0编辑  收藏  举报