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

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

相关推荐

  • 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
  • 08.04 笔记总结

    1.ps axo  user,ruser,group,rgroup,cmd  //  ruser  表示程序发起的用户,一般是指系统当前的用户  //  user  表示程序的所有者。在大数情况下,两个用户都是系统当前的用户, 之后当程序被赋予suid的时候,可能user会发生变化。 2.…

    Linux干货 2016-08-08
  • HAproxy reload config file with uninterrupt session

    HAProxy is a high performance load balancer. It is very light-weight, and free, making it a great option if you are in the market for a load balancer and need to keep your cos…

    Linux干货 2015-04-03
  • Linux进程管理-初级

    Linux进程管理-初级 背景: 在学习完Linux进程管理后,发现这一块的知识点比较多,很多都是自己以前没有接触过的,而且这部分知识对今后的工作有很大帮助,在这里做个学习的总结,供以后复习。 进程介绍: 什么是进程 进程(Process):运行中的程序的一个副本,是被载入内存的一个指令集合,进程有进程ID(Process ID,PID),用来标记每个进程,…

    2017-08-26
  • Linux Basics-Linux Bash历史和其概念名词解释part1

    Linux Basics-Linux Bash历史和其概念名词解释part1 阅读本文你将知道:查看更多BashFAQ.pdf   Bash的历史及其特性   Bash的如何工作   Bash的概念解释   前提知识:      对linux有一定基础而且了解Bash的…

    Linux干货 2016-10-29
  • 二、(2)bash的工作特性之:命令执行状态返回值及命令行展开

    bash 工作特性 命令执行状态 命令行展开

    2018-01-10