有关脚本的一些使用及其注意事项

1,shell 
脚本

格式要求:首行shebang机制

                 #/bin/bash

                 #!/usr/bin/python

                 #!/usr/bin/perl

shell脚本的用途:

a、自动化常用命令

b、执行系统管理和故障排除

c、创建简单的应用程序

d、处理文本或文件

 

创建脚本:

第一步:使用文本编辑器来创建文本文件

             a、第一行必须包括shell声明序列:#!例如(#/bin/bash

             b、添加注释(注释以#开头)

第二步:运行脚本

             a、给予执行权限,在命令行上指定脚本的绝对或相对路径

             b、直接运行解释器,将脚本作为解释器程序的参数运行

脚本调试:

          bash -n /path/to/some_script   检测脚本中的语法错误

          bash -x /path/to/some_script    调试执行

如果是在当前目录下创建的脚本,则执行的时候直接用 ./脚本名或者直接用脚本名就可以了(需要注意的是一定要给创建的脚本名加上执行权限)

2,进程的相关注意事项:

$:显示当前的PID

PPID:显示父进程

SHELVL: 显示当前shell是几级的bash

Pstree 显示进程数

         -p 同时显示进程PID

Ps -ef 显示进程信息

3,本地变量:只对当前shell进程有效,对于其它shell进程及子进程无效

 

环境变量:对当前shell进程及子进程都有效

               变量定义:export name =‘value’

               变量引用:$name${name}

               取消变量:unset name

               显示变量:export,env,printenv

另外,需要注意的是Set 既显示环境变量又显示本地变量

关于脚本的学习要想熟练掌握还是要多多练习,一下是一些最近做的相关练习:

a、编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小

有关脚本的一些使用及其注意事项有关脚本的一些使用及其注意事项b,编写脚本/root/bin/sumid.sh,计算/etc/passwd文件中的第10个用户和第20用户的ID之和

有关脚本的一些使用及其注意事项有关脚本的一些使用及其注意事项

c,编写脚本/root/bin/sumspace.sh,传递两个文件路径作为参数给脚本,计算这两个文件中所有空白行之和

有关脚本的一些使用及其注意事项有关脚本的一些使用及其注意事项

4,“或(||)”和“与(&&)”

与(&&)

真或假     假

真或真     真

假或真     假

假或假     假

总结:只要有一个假则假

短路与:只要前面有一个为假,则直接结束。如果前面为真,则继续判断第二个值

或(||)

真或假     真

真或真     真

假或真     真

假或假     假

总结:只要有一个真则真

短路或:只要前面有一个真,则直接结束。如果前面为假,则继续判断第二个值

以下是相关的练习:

a,编写脚本/root/bin/hostping.h,接受一个主机的IPv4地址做为参数,测试是否可连通。如果能ping通,则提示用户“该IP地址可访问”;如果不可ping通,则提示用户“该IP地址不可访问”

有关脚本的一些使用及其注意事项有关脚本的一些使用及其注意事项

b,编写脚本/root/bin/checkdisk.sh,检查磁盘分区空间和inode使用率,如果超过80%,就发广播警告空间将满

有关脚本的一些使用及其注意事项有关脚本的一些使用及其注意事项

原创文章,作者:风之轨迹,如若转载,请注明出处:http://www.178linux.com/83750

(0)
上一篇 2017-08-05 11:57
下一篇 2017-08-05 14:33

相关推荐

  • LVM(逻辑卷管理)

    LVM 逻辑卷管理 概述:      LVM是将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。与传统的磁盘与分区相比,LVM为计算机提供了更高层次的磁盘存储。它使系统管理员可以更方便的为…

    Linux干货 2016-09-05
  • Linux sed命令详则

    sed命令 sed是一种流编辑器,它是文本处理中非常好的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前的行储存在临时缓存区中,称为“模式空间”(pattern space),接着用sed命令处理缓存区中的内容,处理完成后,把缓存区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。Sed…

    2017-08-11
  • mitaka版本openstack网络之open vSwitch

    作者:【吴业亮】 博客:http://blog.csdn.net/wylfengyujiancheng 一、硬件配置及服务拓扑1. controller节点:一块网卡2. 网络节点:四块网卡。3. 计算节点:三块网卡 controller节点1. 运行 neutron数据库2. 运行消息队列服务3. 运行认证。4. 运行OpenStack计算nova相关网络…

    2018-01-22
  • 聊聊CentOS6的启动过程

    前言:     作为一个合格的运维人员,系统的启动过程我们需要牢记在心,此文不深入探讨,只求大致理解CentOS6的启动过程。 一张图带你了解CentOS6的启动过程 注意:图片放大查看效果更佳 上图各阶段详解 POST:计算机开机时BIOS对其各硬件的简单测试,测试各硬件的完整性 BootSqunce:加电自检后根据…

    Linux干货 2016-03-14
  • 进程管理

    Process Manager 工作管理  jobs ctrl+z,& bg,fg nohup 进程,资源管理  查看:pstree,ps,top,vmstat,pmap 查询:pgrep,pidof,fuser,lsof 管理:kill,nice,renice 管理软件or命令  htop glances dstat …

    Linux干货 2016-04-11
  • DNS服务器以及子域授权

    1、安装bind      [root@www ~]# yum -y install bind 2、查看安装生成的文件      [root@www ~]# rpm -ql bind | less 3、程序路径     /var/named 4、配置…

    Linux干货 2017-05-31