`

学习下简单的shell脚本实例

 
阅读更多

1.模拟linnux登录shell

#/bin/bash
echo -n "login:"
read name
echo -n "password:"
read passwd
if [ $name = "cht" -a $passwd = "abc" ];then
echo "the host and password is right!"
else echo "input is error!"
fi

2.比较两个数大小

#/bin/bash
echo "please enter two number"
read a
read b
if test $a -eq $b
then echo "NO.1 = NO.2"
elif test $a -gt $b
then echo "NO.1 > NO.2"
else echo "NO.1 < NO.2"
fi

3.查找/root/目录下是否存在该文件

#/bin/bash
echo "enter a file name:"
read a
if test  -e /root/$a
then echo "the file is exist!"
else echo "the file is not exist!"
fi

4.for循环的使用

#/bin/bash
clear
for num in 1 2 3 4 5 6 7 8 9 10
do
    echo "$num"
done

5.命令行输入

#/bin/bash
echo "Please enter a user:"
read a
b=$(whoami)
if test $a = $b
then echo "the user is running."
else echo "the user is not running."
fi

6.删除当前目录下大小为0的文件

#/bin/bash
for filename in `ls`
do
    if test -d $filename
    then b=0
    else  
       a=$(ls -l $filename | awk '{ print $5 }')
            if test $a -eq 0
             then rm $filename
             fi
        fi    
done

7.如果/export/um_lpp_source下有文件,那么将其文件系统大小改为3G

 #/bin/bash
while line=`ls /export/um_lpp_source`
do
        if test $line=""
        then  echo "NULL"
             sleep 1
    else echo $line
                chfs -a size=3G /export/um_lpp_source
                 exit 0
        fi
done

 

8.测试IP地址

#/bin/bash
for i in  1 2 3 4 5 6 7 8 9
do
    echo "the number of $i computer is "
    ping -c 1 192.168.0.$i
done

9.如果test.log的大小大于0,那么将/opt目录下的*.tar.gz文件

 #/bin/sh
a=2
while name="test.log"
do
        sleep 1
        b=$(ls -l $name | awk '{print $5}')
        if test $b -ge $a
        #then echo "OK"
    then `cp /opt/*.tar.gz .`
        exit 0
        fi
done

10.打印读取的内容,为下面的例子做准备

#/bin/bash
while read name
do
echo $name
done

11.从0.sh中读取内容并打印

#/bin/bash
while read line
do
    echo $line
done < 0.sh

12.读取a.c中的内容并做加1运算

#/bin/bash
test -e a.c
while read line
do
    a=$(($line+1))
done < a.c
echo $a

13.普通无参数函数

#/bin/bash
p ()
{
    echo "hello"
}
p

14.给函数传递参数

#/bin/bash
p_num ()
{
    num=$1
    echo $num
}
for n in $@
do
    p_num $n
done

15.创建文件夹

#/bin/bash
while :
do
    echo "please input file's name:"
    read a
    if test -e /root/$a
    then
         echo "the file is existing Please input new file name:"
    else
        mkdir $a
        echo "you aye sussesful!"
        break
    fi
done

16.获取本机IP地址

#/bin/bash
ifconfig | grep "inet addr:" | awk '{ print $2 }'| sed 's/addr://g'

17.查找最大文件

#/bin/bash
a=0
for  name in *.*
do
     b=$(ls -l $name | awk '{print $5}')
    if test $b -ge $a
    then a=$b
         namemax=$name
     fi
done
echo "the max file is $namemax"

18.查找当前网段内IP用户,重定向到ip.txt文件中

#/bin/bash
a=1
while :
do
    a=$(($a+1))
    if test $a -gt 255
    then break
    else
        echo $(ping -c 1 192.168.0.$a | grep "ttl" | awk '{print $4}'| sed 's/://g')
        ip=$(ping -c 1 192.168.0.$a | grep "ttl" | awk '{print $4}'| sed 's/://g')
        echo $ip >> ip.txt
    fi
done

19.打印当前用户

#/bin/bash
echo "Current User is :"
echo $(ps | grep "$$" | awk '{print $2}')

20.case语句练习

#!/bin/bash
clear
echo "enter a number from 1 to 5:"
read num
case $num in
    1) echo "you enter 1"
    ;;
    2) echo "you enter 2"
    ;;
    3) echo "you enter 3"
    ;;
    4) echo "you enter 4"
    ;;
    5) echo "you enter 5"
    ;;
    *) echo "error"
    ;;
esac

21.yes/no返回不同的结构

#!/bin/bash
clear
echo "enter [y/n]:"
read a
case $a in
    y|Y|Yes|YES) echo "you enter $a"
    ;;
    n|N|NO|no) echo "you enter $a"
    ;;
    *) echo "error"
    ;;
esac

22.杀进程

 #/bin/bash
pid=`ps -ef | grep '进程相关内容' | grep -v 'grep' | awk '{ print $2}'`
if [ -n "$pid" ]; then
        kill -9 $pid
fi

 23.内置命令的使用

#/bin/bash

    clear
        echo "Hello, $USER"
        echo
      
        echo "Today 's date id `date`"

        echo

        echo "the user is :"
        who
        echo

        echo "this is `uname -s`"
        echo

        echo "that's all folks! "

24.

 

 

25.

#/bin/bash

26.打印无密码用户

#/bin/bash
echo "No Password User are :"
echo $(cat /etc/shadow | grep "!!" | awk 'BEGIN { FS=":" }{print $1}')

27.

#/bin/bash

    clear
        echo "Hello, $USER"
        echo
      
        echo "Today 's date id `date`"

        echo

        echo "the user is :"
        who
        echo

        echo "this is `uname -s`"
        echo

        echo "that's all folks! "

28.检查端口号是否已启动
#!/bin/bash
n=1
echo "检查xxx服务..."
while true
do
        if test $n -gt 20
        then
                echo "xxx服务启动失败"
                break
        fi
              
        sleep 5
        n=$(($n+1))
        port=`netstat -antp | grep "0.0.0.0:8080"`
        if [ ${#port} -gt 3 ]; then
                echo "xxx服务已经启动"
                break;
        fi
done

 

分享到:
评论

相关推荐

    shell 脚本 实例 shell 脚本 实例

    在"参考shell脚本实例"中,我们可以期待看到各种实际应用的示例,这些示例可能涵盖如下内容: 1. **文件和目录操作**:包括创建、删除、复制、移动文件和目录,如`touch`, `rm`, `cp`, `mv`等命令。 2. **文本处理*...

    Linux学习资料及shell脚本实例

    这份“Linux学习资料及shell脚本实例”涵盖了Linux的基础知识和实用技巧,旨在帮助初学者快速入门并深入理解Linux系统。 首先,Linux是一个开源的操作系统,它的内核由林纳斯·托瓦兹开发,全球各地的开发者共同...

    23 个非常实用的 Shell 脚本实例.doc

    Shell 脚本实例集锦 Shell 脚本是一种强大的工具,能够帮助程序员和系统管理员自动完成枯燥的工作,提高工作效率。以下是 23 个非常实用的 Shell 脚本实例,展示了 Shell 脚本编程的实用技术和常见工具用法。 一、...

    Shell脚本学习教程PDF版

    在“Shell脚本学习教程PDF版”中,你将逐步掌握这些知识,从简单的脚本编写到复杂系统的自动化运维,提升你的Linux/Unix技能。通过实例练习和实际项目应用,你将能够熟练地运用Shell脚本来简化日常工作,提高工作...

    LinuxShell脚本编程实例.pdf

    Linux Shell脚本编程实例是一种使用Linux Shell编程语言编写的脚本,旨在提供一个实用的编程实例,帮助用户学习和掌握Linux Shell编程的相关知识。 程序入口点和参数处理 在Linux Shell脚本编程中,程序的入口点是...

    shell脚本编程100例

    《shell脚本编程100例》为读者提供了100个实战性的shell脚本编程实例,涵盖了多个方面的shell脚本编程知识,读者可以通过学习这些实例,掌握shell脚本编程的技术,实现自动化系统管理和数据处理。

    经典shell-脚本实例

    实例学习shell脚本的使用,能更快的属性到shell,掌握shell

    250个shell脚本

    本文档收集了250个实用的Shell脚本实例,涵盖了多个应用场景,包括系统管理、安全防护、数据库备份等核心知识点。 1. Dos攻击防范:通过监控Nginx的日志文件,检测到异常频繁的IP访问后,脚本会自动使用iptables...

    linux shell 脚本入门

    - 实践是学习Shell脚本的关键,通过解决实际问题加深理解。 通过"shell-script-entry.pdf"的学习,读者可以掌握Shell脚本的基本概念,为进一步深入学习和应用Linux自动化提供基础。记得结合实际操作练习,才能更好...

    C语言中文网shell脚本教程

    通过这些教程,学习者可以全面了解Shell脚本编程的基础知识,掌握编写高效、可靠的Shell脚本的技巧,从而更好地管理和自动化Linux系统。每个HTML文件都包含了丰富的实例和实践指导,是提升Shell脚本技能的理想资源。

    109个shell脚本合计

    Shell脚本是Linux/Unix操作系统中的强大工具,它允许用户编写一系列命令,形成自动化任务,以提高工作效率。本文档汇总了109个实用的Shell...对于任何想要深入学习Shell脚本编程的IT从业者来说,这是一个宝贵的资源库。

    shell脚本学习资料

    在学习Shell脚本时,理解这些命令的工作原理,熟悉它们的选项和模式语法,以及如何将它们整合到脚本中是非常重要的。同时,实践是提高技能的关键,尝试解决实际问题,如日志分析、文件转换等,将有助于深化对sed和...

    linux shell脚本学习文档

    "Linux Shell脚本学习文档"应该详细介绍了这些内容,并通过实例和练习帮助读者巩固知识。书中可能还涵盖了如何调试脚本、编写脚本的最佳实践以及如何利用Shell脚本来解决实际问题。 总之,对Bash Shell脚本的深入...

    shell脚本编程学习笔记汇总

    shell脚本编程学习笔记汇总 本文档总结了 Linux shell 脚本编程的学习笔记,涵盖了 shell 脚本的定义、编写、权限、存放位置、函数、变量、IF 控制语句、命令退出状态等知识点。 一、shell脚本的定义 shell 脚本是...

    Linux 命令与Shell 脚本编程pdf书籍

    《Linux命令行与Shell脚本编程大全》是一本专为Linux初学者编写的经典教材,旨在帮助读者深入理解和掌握Linux操作系统中的基本命令行操作以及Shell脚本编程技术。这本书全面覆盖了从基础到进阶的各种主题,对于想要...

    linux_shell实例精解

    7. **Shell脚本编写**:从简单的Hello World示例开始,逐步引导读者编写更复杂的脚本,如系统监控、备份脚本等。 8. **调试与优化**:如何调试Shell脚本,找出并修复错误,以及提高脚本性能的技巧。 9. **Shell...

    简易脚本实例带你了解Shell脚本

    【简易脚本实例带你了解Shell脚本】 Shell脚本是一种在Unix/Linux操作系统中广泛使用的脚本语言,它基于Bash shell。通过编写简单的Shell脚本,你可以自动化一系列的命令操作,提高工作效率。以下是一些基本的Shell...

Global site tag (gtag.js) - Google Analytics