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

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

相关推荐

  • 第一篇博客 简单说下最近的学习心得吧

        今天是个特殊的日子, 来到马哥教育已经一周时间了,刚来的时候满环信心,感觉人生充满了希望,但是接下来的学习让我感受到了什么是绝望,刚开始的两天完全是一种朦胧的状态,不知道干什么,敲得命令也不理解,完全是生搬硬套,没有自己的认知,当时就有一种冲动想要一走了之,后来想想算了 ,然后就坚持到了现在,此时感觉当时的决定是对的,经过一周的学…

    2017-07-15
  • centos6的启动流程和grub实验

    一.centos的启动流程         post–mbr grub 1stage–stage1.5–stage 2 /boot/grub—/boot/grub/grub.conf —kernel /vmlinuz.XXX root=— /boo…

    2017-07-08
  • rsync+inotify实现数据实时备份

    rsync+inotify实现数据实时备份 §·rsync简单介绍 1 §·什么是rsync 1 §·rsync的功能特性 1 §·rsync的优点和不足 2 §·初识inotify 2 §·rsync命令工作模式 2 §·rsync常用命令选项 3 §·配置rsync以守护进程的方式运行 3 ※·安装并启动 xinetd 3 ※·为rsync服务器提供配置…

    Linux干货 2016-10-30
  • Linux手动编译源代码文件

    一、简介     Linux系统上程序包安装的方式多种多样,一般来说可通过rpm包安装、yum在线安装等方式实现。但有时候为了实现某种功能,而这种功能在通常情况下又不是太常用或是因为其他原因,不能通过yum下载安装或在网上没有找到rpm包,只是找到了程序安装包的源代码的话,这种情况下我们就可以对源代码直接进行编译安装,以便解决这种临时需求…

    Linux干货 2015-09-26
  • GNU awk

    文本处理三工具:grep, sed, awk grep, egrep, fgrep:文本过滤工具;pattern sed: 行编辑器 模式空间、保持空间 awk:报告生成器,格式化文本输出;  AWK: Aho, Weinberger, Kernighan –> New AWK, NAWK  GNU awk, gawk&…

    Linux干货 2015-12-03
  • 第七周

    第七周 1 创建一个10G分区,并格式为ext4文件系统;    (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;    (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动…

    Linux干货 2017-02-20