知识回顾 运行脚本我们一般用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.批量添加用户并设置随机密码

五.Bash Shell编程基础入门实战的更多相关文章

  1. Linux(五)shell编程基础

    一.Linux shell简介 1.shell概述 Shell 是用户与内核进行交互操作的一种接口,目前最流行的 Shell 称为 bash Shell          Shell 是一门编程语言& ...

  2. 《Linux.Shell编程从入门到精通》读书笔记

    第一章 第一个Shell程序 以 #!解析器名称 开头,表示选择哪个解释器解释shell脚本 source命令 export命令 env命令 unset命令 第二章 shell编程基础 函数传递 标准 ...

  3. 【转】Shell编程基础篇-下

    [转]Shell编程基础篇-下 1.1 条件表达式 1.1.1 文件判断 常用文件测试操作符 常用文件测试操作符 说明 -d文件,d的全拼为directory 文件存在且为目录则为真,即测试表达式成立 ...

  4. 【转】Shell编程基础篇-上

    [转]Shell编程基础篇-上 1.1 前言 1.1.1 为什么学Shell Shell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具, Linux/UNIX系统的底层及基础应 ...

  5. shell编程基础(转载)

    Shell编程基础 原作者 Leal:请参阅页面底部的编者列表. 授权许可: 创作共享署名协议 GNU 自由文档许可证 注意:本文仍然在持续的修订之中,且错漏之处可能较多.如果能够阅读英语的话,可以考 ...

  6. 【Shell 编程基础第二部分】Shell里的流程控制、Shell里的函数及脚本调试方法!

    http://blog.csdn.net/xiaominghimi/article/details/7603003 本站文章均为李华明Himi原创,转载务必在明显处注明:转载自[黑米GameDev街区 ...

  7. Linux学习之二十一-shell编程基础

    Shell编程基础 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言.Shell 是指一种应用程序,这个应用程序提供了一个 ...

  8. 7-1 shell编程基础之二

    shell编程基础之二 算数运算 bash中的算术运算:help let +, -, *, /, %取模(取余), **(乘方),乘法符号有些场景中需要转义 实现算术运算: (1) let var=算 ...

  9. 6-2 shell编程基础

    shell编程基础 编程基础 Linus:Talk is cheap, show me the code 程序和编程风格 程序: 程序:算法+数据结构 数据:是程序的核心 算法:处理数据的方式 数据结 ...

随机推荐

  1. steps/train_sat.sh

    <<LDA_MLLT_fMLLR三音素HMM的训练流程图.vsdx>>    

  2. Spark On Yarn报警告信息 WARN yarn.Client: Neither spark.yarn.jars nor spark.yarn.archive is set, falling back to uploading libraries under SPARK_HOME.

    1 贴出完整日志信息 // :: INFO client.RMProxy: Connecting to ResourceManager at hdp1/ // :: INFO yarn.Client: ...

  3. Applet、Scriptlet与Servlet

    Applet.Scriptlet与Servlet - 青春念邵的博客 - 博客频道 - CSDN.NEThttp://blog.csdn.net/mo_fan_qing_wa/article/deta ...

  4. java spring属性注入

    一.创建对象时候,向类里面属性设置值:一般有三个方式 1) .有参构造, 2). set**** 3).接口注入 二. 在spring框架里面,支持前面两种方式: 1).有参构造方法  用constr ...

  5. Linux7系列阅读

    1.[Centos7]hostnamectl 设置主机名 https://blog.csdn.net/dream361/article/details/56833248 2.ip addr https ...

  6. VMware网络问题

    配置好网络的虚拟机,隔一段时间后可能会发现网络不可用了,此时可以检查一下以下3个服务是否开启 一般情况下,启动以上三个服务后网络就通了. 如果以上服务都启动了还不行,那就重启一下网络: # servi ...

  7. Latex 编辑数学公式——快速上手

    参考链接: https://blog.csdn.net/fansongy/article/details/45368915 特殊符号: https://blog.csdn.net/caiandyong ...

  8. 使用SpringSocial开发微信登录

    ⒈编写微信用户对应的数据结构 package cn.coreqi.social.weixin.entities; /** * 微信用户实体类 */ public class WeixinUserInf ...

  9. Learning Discriminative Features with Class Encoder

    近来论文看了许多,但没多少时间总结下来.今天暂时记录一篇比较旧的论文,选择理由是 Discriminative features. 做图像说白了就是希望有足够有判别性的特征,这样在分类或者匹配.检索的 ...

  10. Git学习笔记06-版本回退

    在实际中,向版本库提交多次后,几千行代码肯定不记得每次都改了什么,可以使用git log来查看提交日志.也就是git commit -m 后面填写的这部分内容 ​ 也可以使用git log --pre ...