脚本编程基础练习

一、脚本
1、编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小。
   #!/bin/bash
#
echo "hostname:      `hostname`"
echo "IPV4address:   `ifconfig |grep ‘inet\>‘ |sed -nr ‘[email protected]*addr:(.*)Bca.*@\[email protected]‘`"
echo "system relases:  `cat /etc/centos-release`"
echo "kernel release:  `uname -r`"
echo "memory size:   `cat meminfo|grep "MemTotal"`"
echo "Disk size:  `fdisk -l | grep "^Disk /dev/s[a-z]"`"
4、编写脚本/root/bin/links.sh,显示正连接本主机的每个远程主机的IPv4地址和连接数,并按连接数从大到小排序
   netstat -tn | awk ‘/^tcp/{print $4,$1}‘ | sort |uniq -c| sort -n
9、写一个脚本/root/bin/hostping.sh,接受一个主机的IPv4地址做为参数,测试是否可连通。如果能ping通,则提示用户“该IP地址可访问”;如果不可ping通,则提示用户“该IP地址不可访问”
    #!/bin/bash
    #
    read -p "please input a IPv4 addr: " addr
    ping -W 2 -c 2 $addr &>/dev/null && echo "this IPv4addr can be access"|| echo "this ipv4addr can not be access"

10、判断硬盘的每个分区空间和inode的利用率是否大于80,如果是,发邮件通知root磁盘满
     #!/bin/bash
    #
    for I in `df |grep "^/dev/sd" | cut -c 45-46`;do
      echo $I
         if [ $I -ge 80 ] ;then
           cat /etc/issue|mail -s "warning,please notice you sick" test
           echo "successful"
         fi
    done
    
    for I in `df -i|grep "^/dev/sd" | cut -c 41-42`;do
      echo $I
         if [ $I -ge 5 ];then
           cat /etc/fstab|mail -s "warning,please notice you sick" test
           echo "congratulation"
         fi
    done
11、指定文件做为参数,判断文件是否为.sh后缀,如果是,添加x权限
    #!/bin/bash
    #
    read -p "please input a filename: " filename
    if [[ $filename =~ .*\.sh ]];then
    	chmod a+x $filename
    	echo "funished"
    else
    	exit 
    fi
12、判断输入的IP是否为合法IP
   #!/bin/bash
    #
    ipaddr=‘^(\<([0-9]|[1-9][0-9]|1[0-9]{2}|2([0-4][0-9]|5[0-5]))\>\.){3}\<([0-9]|[1-9][0-9]|1[0-5][1-9]|2([0-4][0-9]|25[0-5]))\>$‘
    read -p "please input a IPV4 addr: " ipv4
    if [[ $ipv4 =~ $ipaddr ]];then
        echo "a legal IP."
    else
        echo "unlegal IP"
        exit
    fi
 

14、输入起始值A和最后值B,计算从A+(A+1)...+(B-1)+B的总和
    #!/bin/bash
    #
    sum=0
    
    for I in seq $1 $2;do
    	let sum+=$I
    done
    echo $sum
时间: 2024-08-02 23:15:56

脚本编程基础练习的相关文章

Linux shell脚本编程基础之练习篇

shell脚本编程基础之练习篇. 1.编写一个脚本使我们在写一个脚本时自动生成”#!/bin/bash”这一行和注释信息. #!/bin/bash if [ $# -ne 1 ] then echo "请输入一个参数" exit else echo "参数正确" newfile=$1 fi #echo `grep "^#\!" ${newfile}` if ! grep "^#\!" ${newfile} &>/

第九章、shell脚本编程基础

第九章.shell脚本编程基础 本章内容 编程基础 脚本基本格式 变量 运算 条件测试 配置用户环境 编程基础 程序:指令+数据 程序编程风格: 过程式:以指令为中心,数据服务于指令 对象式:以数据为中心,指令服务于数据 shell程序:提供了编程能力,解释执行 程序的执行方式 计算机:运行二进制指令 编程语言: 低级:汇编 高级: 编译:高级语言-->编译器-->目标代码 java,C# 解释:高级语言-->解释器-->机器代码 shell, perl, python (系统后台

文本处理工具和正则表达式、shell脚本编程基础-第四周

第四周-文本处理工具和正则表达式.shell脚本编程基础1. 统计出/etc/passwd文件中其默认shell为非/sbin/nologin的用户的个数,并将用户都显示出来grep -v '/sbin/nologin' /etc/passwd|wc -lgrep -v '/sbin/nologin' /etc/passwd|cut -d: -f12. 查出用户UID最大值的用户名,UID及shell类型.cut -d: -f1,3,7 /etc/passwd|sort -t: -k2 -nr

shell 脚本编程基础

一.编程基础 程序:指令+数据 程序编程风格: 过程式:以指令为中心,数据服务于指令 对象式:以数据为中心,指令服务于数据 shell程序:提供了编程能力,解释执行 1.程序的执行方式 计算机:运行二进制指令: 编程语言: 低级:汇编 高级: 编译:高级语言–>编译器–>目标代码 java,C# 解释:高级语言–>解释器–>机器代码 shell, perl, python 2.编程基本概念 编程逻辑处理方式: 顺序执行 循环执行 选择执行 shell编程:过程式.解释执行 编程语言

DAY9:bash脚本编程基础(1)

内容主要为: 一.编程基础 二.shell脚本及其基本格式 三.变量 四.运算 五.条件测试 六.流程控制 一.编程基础 1)程序 程序:指令+数据 程序编程风格: 过程式:以指令为中心,数据服务于指令(C,bash) 对象式:以数据为中心,指令服务于数据 (java,C++,Python) shell程序:提供了编程能力,解释执行 2)程序的执行方式 计算机:运行二进制指令: 编程语言: 低级:汇编 高级: 编译:高级语言-->编译器-->目标代码 java,C# 解释:高级语言-->

Shell脚本编程基础

什么是Shell 操作系统最外层的程序,shell通过提示符让用户输入,向操作系统解释该输入,然后处理来自操作系统的任何结果输出来,管理用户与操作系统之间的交互. Shell是一个用户跟操作系统之间的一个命令解释器.Shell是用户与Linux操作系统之间沟通的桥梁.用户可以输入命令执行,又可以利用 Shell脚本编程去运行. 为什么要用到shell shell是一个交互式程序,当用户输入一条命令,shell就解释一条,一次只处理一条命令.如果我们一些复杂操作,逐个敲命令工作量就会增大,因此,我

Linux中的shell脚本编程——基础篇

概述: shell脚本在Linux系统管理员的运维工作中非常重要.shell脚本能够帮助我们很方便的管理服务器,因为我们可以指定一个任务计划,定时的去执行某一个脚本以满足我们的需求.本篇将从编程基础.脚本基本格式.变量.运算.条件测试这几个方面详细介绍shell脚本编程的基础内容,也是我们必须要掌握熟练的内容. 一.编程环境 1.程序:指令+数据 程序编程的风格有两种: 过程式:以指令为中心,数据服务与指令 对象式:以数据为中心,指令服务于数据 2.程序的执行方式: □计算机:只能识别二进制文件

bash脚本编程基础

bash编程   bash脚本编程是过程式解释编程,其实就是linux命令的堆砌,既然是编程就应该有相应编程语法.    与任何过程式编程一样,过程式编程的特点就是:顺序执行,选择执行,循环执行.    过程式编程:以指令为中心,设计算法,数据服务于算法,过程式编程的灵魂:算法.    1.变量:数值变量,字符变量           bash环境:                本地变量:当前shell进程:                环境变量:当前shell进程及其子进程:       

1.1Shell脚本编程基础

编程基础 ? 程序 ?程序:算法+数据结构 ?数据:是程序的核心 ?数据结构:数据在计算机中的类型和组织方式 ?算法:处理数据的方式 ?程序编程风格: 过程式:以指令为中心,数据服务于指令 对象式:以数据为中心,指令服务于数据 ?shell程序:提供了编程能力,解释执行 程序的执行方式 ? 计算机:运行二进制指令 ? 编程语言:人与计算机之间交互的语言 ? 低级编程语言: 机器:二进制的0和1的序列,称为机器指令.与自然语言差异太大,难懂.难写 汇编:用一些助记符号替代机器指令,称为汇编语言 ?

shell脚本编程基础之case语句

基础简介 脚本编程分为: 面向过程 选择结构:if语句,单分支.双分支.多分支:case语句 控制过程:顺序结构(默认) 循环结构 面向对象 case语句结构 case VAR_NAME in var_value1) #value被当做字符一个一个进行比较的:可以使用a-z,A-Z,0-9,[abc] statement1 ... ;; var_value2) statement2 ... ;; *) statement ... ;; esac case示例 Example1: #!/bin/b