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

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

相关推荐

  • 文件的归档和压缩

    文件的归档和压缩 •一、tar命令使用 •二、其他压缩方式 •三、进程管理基本概念。 前言: 本节主要介绍文件的归档和压缩相关方法。归档和压缩有利于linux系统中文件的管理和磁盘空间的利用,善于利用归档和压缩能为我们工作中带来很多便捷。另外将简单介绍进程的一些概念,方便下一节进程管理内容的学习。 一、 tar命令使用(tar命令用于文件…

    2017-04-16
  • Shell脚本编程中的if、case、for、while、until命令

    为何要学编程中的if、case、for、while、until命令?        作为一个运维工程师,总会听到自动化,实际自动化离不开编写shell脚本,而shell脚本中却又离不开编程中的if、case、for、while、until, 这些关键字。 了解编程中的if、case、for、while、until命令,…

    Linux干货 2016-08-19
  • OSI和TCP/IP

            我们生活中各方面都离不开网络,那网络究竟是什么东西呢?它是怎么做到让在不同地点的人无视空间距离完成通信的呢?首先我们来了解一下网络的基本概念。网络是由节点和连线构成,表示诸多对象及其相互联系。在数学上,网络是一种图,一般认为专指加权图。网络除了数学定义外,还有具体…

    2017-09-02
  • MySQL Fabric 安装部署

    MySQL Fabric  是一个用于管理 MySQL 服务器群的可扩展框架。该框架实现了两个特性 — 高可用性 (HA) 以及使用数据分片的横向扩展。这两个特性既可以单独使用,也可以结合使用。 环境: 安装MySQL Fabric 配置MySQL Fabric MySQL Fabric 安装管理数据库fabric 启动MySQL Fab…

    数据库运维 2016-06-03
  • 学习宣言

    新的一天开始了, 从今天起,正式开始Linux的系统学习, 对于基础薄弱的我来说,是一个新的挑战,而我接受这个挑战。 在今后的日子里,一定会拼搏奋进,更上一层楼。 积土而为山,积水而为海, 定会一天比一天强,努力吧。

    Linux干货 2016-10-24
  • 马哥教育网络班22期+第11周课程练习

    1、详细描述一次加密通讯的过程,结合图示最佳。 Bob先利用单向加密算法提取当前数据的指纹(特征码),再用自己的私钥加密数据指纹并附加于数据尾部, 然后利用对称加密将整个文件加密,之后用Alice的公钥加密对称加密密钥附加于尾部。 Alice收到数据后,先用自己的私钥解密,得到对称加密密钥,之后用对称加密密钥解密,然后用Bob的公钥 解密得到数据指纹,并且验…

    Linux干货 2016-11-14