一些简单的shell脚本例子

         对于刚开始学shell脚本的人来说,建立编程思维很重要,需要能够把自己需要做的事情,用编程的方式表达出来,下面是我学习和搜集的一些例子,对于刚刚开始接触的人,或许有一定的帮助。

    

求任意数的和或乘积,先定义函数,任意数的和、乘积,然后通过case结构再定义变量,调用函数。

hei(){

x=1

while [ $# -gt 0 ]

do

x=`expr $x \* $1`

shift

done

echo $x

}

he(){

x=0

while [ $# -gt 0 ]

do

x=`expr $x + $1`

shift

done

echo $x

}

read -p "+ or *" lx

case "$lx" in

"+")

he  $*;;

"*")

hei $*;;

*)

echo "no passage";;

esac

~

使用case+function  一起给源码的网站服务编写启动脚本,让用户可以通过如下方式,对编码包提供的网站服务进行启动、停止、服务。()

1 #!/bin/bash

2 #chkconfig: - 85 15

3 #description: The Apache HTTP Server is an efficient and extensible  \

4#              server implementing thecurrent HTTP standards.

5 #processname: httpd

6start(){

7        /user/loacal/httpd/bin/apachectl start

8         echo "source httpdrunning .....OK"

9         echo

10 }

11

12stop(){

13        /usr/local/httpd/bin/apachectl stop

14        echo "source httpd running .....NO"

15        echo

16 }

17status(){

18        netstat -anput | grep :80 &>/dev/null

19        if [ $? -eq 0 ]; then

可以查看端口和进程,也可以start和stop的时候                                    创建文件夹,然后这里查看有没有这两个文件,有哪个就是哪个

20        echo "正在运行"

21        esle

22         echo "已经停止"

23fi

24 }

25case "S1" in

26"start")

27        start;;

28"stop")

29        stop;;

30"status")

31        status;;

32*)

33        echo "$0 values in start | stop | status "

esac

简单的shell脚本,输入年龄和名字,

#!/bin/bash

read -p "请输入你的名字" name

read -p "请输入你的年龄" age

[ ! -z $name ] && echo"$name" || echo "你没有输入名字"

[ ! -z $age ] && echo"$age" || echo " 你没有输入年龄"

输入卡号密码,

#!/bin/bash

read -p "请输入你的  card num " num

stty -echo

关闭屏幕输出

read -p "请输入你的password "  passwd

stty echo

echo

echo $num $passwd >/tmp/a.txt

将输出内容重定向到a.txt

mail -s "psswd"  root < /tmp/a.txt

将a.txt给root发送邮件主题为psswd】

server_on.sh   如果一个服务没有运行,就启动这个服务,如果服务                                    正运行输出 “服务正在运行” 执行方式如下:

server_on.sh   httpd

server_on.sh   crond

#!/bin/bash

service $1 status &> /dev/null

if  [$? -ne 0 ];

then

service $1 start

fi

echo " 服务正在运行"

~

根据学生的考试成绩,判断学生的优劣。

成绩的分数在1~100之间

在 1~59      要补考

60~79     良

80~90     优

91~100   有奖励

1#!/bin/bash

2read -p "请输入你的成绩" num

3   if [ $num -ge 1 ]&>/dev/null && [ $num -le 100 ];

(注释:因为如果输入为空或者字母其它,会报错,所以把输出结果重定向一下就可以解决)

4then

5         if [ $num -ge 1 ]  && [ $num -le 59 ];

6then

7         echo "需要补考"

8   elif [ $num -ge 60 ]&& [ $num -le 79 ];

9then

10        echo "良"

11  elif [ $num -ge 80 ] && [ $num -le 90 ] ;

12then

13        echo "优"

14   elif [ $num -ge 91 ] && [ $num -le 100 ];

15then

16        echo "有奖励"

17else

18        "请输入你的成绩   范围1-100"

19fi

20  else

21        echo "请输入你的成绩   范围1-100"

22fi

~

~

添加十个系统帐号

#!/bin/bash

name=zeng

for n in `seq -w 10`

seq -w   根据最大数设置宽度,for 01 02   10

do

useradd $name$n

done

#!/bin/bash

#输出21~57间的奇数 并统计个数

x=0

for i in `seq  21  57`

do

if [ `expr $i % 2` -ne 0  ];then

echo $i

let x++

fi

done

echo $x

输出1-100间的偶数

#!/bin/bash

for n in `seq 100`

do

if[ `expr $n % 2` -eq 0 ];

then

echo $n

fi

done

~

输出1-20

#!/bin/bash

i=20

while [ $i -ge 1 ]

do

echo $i

let i--

done

echo

~

使用while循环输出ip地址  192.168.4.1-192.168.4.20

#!/bin/bash

ip=192.168.4.

i=20

while [ $i -ge 1 ]

do

echo $ip$i

let i--

done

echo

~

检查192.168.4.0/24  网段任一主机是否在线

#!/bin/bash

ip=192.168.4.

i=1

until [ $i -gt 254 ]

do

ping $ip$i

let i++

done

echo

以上就是我收集的一些shell例子,希望能对大家有所帮助,有不足之处,请多指教。

时间: 2024-10-10 18:12:54

一些简单的shell脚本例子的相关文章

一个简单的shell脚本

一个简单的shell脚本 编写 假设我想知道目前系统上有多少人登录,使用who命令可以告诉你现在系统有谁登录: 1.[[email protected] ~]$ who2.KANO tty1 2016-02-15 01:47 (:0)3.KANO pts/0 2016-02-15 01:48 (kelvin) 当然在个人电脑上,所列出来的列表可能只有上面这么短.但是在一些大型.多用户的系统上,所列出的列表就可能很长.这个时候我们可以使用自动计算用户总数.wc是一个字数计算程序,它可以计算出行数(

Linux Shell 高级编程技巧4----几个常用的shell脚本例子

4.几个常用的shell脚本例子    4.0.在写脚本(同样适用在编程的时候),最好写好完善的注释    4.1.kill_processes.sh(一个杀死进程的脚本) #!/bin/bash current_PID=$$ ps -aux | grep "/usr/sbin/httpd" | grep -v "grep" | awk '{print $2}' > /tmp/${current_PID}.txt for pid in `cat /tmp/${

Linux Shell脚本例子

Shell脚本是我们运维人员管理的最基础知识,下面就是我在学习过程中的一些小例子(比起大牛来说).写这篇博客的目的,是为了记录自己学习脚本的历程,也是为了能和读者一起探讨学习. # Example1: 自动创建脚本的模板 脚本名:creat_scripts.sh  # 功能描述:creat_scripts.sh SCRIPTS_NAME 如果创建的脚本名文件不存在,则创建成脚本文件; # 如果对应的文件存在,且为脚本文件,则打开文件到最后一行: # 如果对应的文件存在,但不是脚本文件,则提示退出

编写简单的shell脚本 - for循环 - 解决报错 Syntax error: Bad for loop variable

为了编写批量导入数据的程序,故而学习编写shell脚本!现学现用! ============================================ 1.第一个简单的for循环 #!/bin/bashfor i in 1 2 3 4;do echo $i;done 2.测试for的自增长的循环: #!/bin/bashfor ((i=1; i<=5; i++))do echo $i;done 如果会报错,没有则跳过: Syntax error: Bad for loop variable

编写简单的Shell脚本

在一些复杂的Linux维护工作中,大量重复性的输入和操作不但费时费力,而且容易出错,而编写一个恰到好处的shell脚本程序,可以批量处理.自动化的完成一系列维护任务,大大减轻了管理员的负担 shell脚本基础 1. 编写第一个shell脚本 Linux中的shell脚本是一个特殊的应用程序,介于操作系统内核和用户之间,充当了一个命令解释器的角色,负责接收用户的操作指令并进行解释,将需要执行的操作传递给内核执行,并输出执行结果 常见的shell解释器 可通过/etc/shells文件了解当前系统所

小鸟初学Shell编程(二)编写简单的Shell脚本

Shell脚本 编写Python.PHP脚本通常需要掌握语言的函数,那么Shell脚本则不需要,只需要掌握Linux命令就可以编写Shell脚本,因为Shell脚本就是由多个Linux命令组成,通过将多个Linux命令组合保存成一个脚本文件,可直接给其他人使用. 组合命令 进入一个目录,查看目录的文件,这个过程分别需要执行两条命令,分别是cd 和ls. 分开执行两个命令的形式如下: [[email protected] usr]# cd /usr/ [[email protected] usr]

简单的shell脚本

1.用Shell编程,判断一文件是不是字符设备文件,如果是将其拷贝到 /dev 目录下. 参考程序: C代码   #!/bin/sh FILENAME= echo "Input file name:" read FILENAME if [ -c "$FILENAME" ] then cp $FILENAME /dev fi 2.设计一个shell程序,添加一个新组为class1,然后添加属于这个组的30个用户,用户名的形式为stdxx,其中xx从01到30. 参考答

两个简单的shell脚本(关于启动和服务)

实验要求: 1.为root用户编写登陆欢迎脚本,报告当前主机中的进程数,已登陆用户数,根文件系统的磁盘使用率 2.编写三个脚本程序:start,stop和status,用来启动,停止各种系统服务 实验步骤: [[email protected] ~]# vi welcome.sh #!/bin/bash # this is test.by shengjie p=`ps aux | wc -l` //设置变量p echo "Running Processes:$p" u=`who | w

一个简单的shell脚本-----实现虚拟机实验环境的简单配置

亲自写过shell脚本后才发现,这玩意真是太方便了,当你想把一些琐碎的.细节性的小指令一次性来完成时,脚本无疑是最好的选择,方便.快捷,关键是真是懒人必备啊. 由于安装的centos6.5是最小化安装,且是实验环境,即安装在vmware workstations上面,在首次安装完成后,配置完IP地址的相关信息后,就做了一个初始的快照,以便下次实验完后,可以通过快照快速还原系统. 但是由于实验环境的要求,例如防火墙.SELinux.光盘挂载.yum源配置等,都是最常需要修改的选项,并且由于最小化安