shell脚本实例集合

1. 求某个目录下普通文件的个数

#!/bin/bash

path=/home/chenguolin
count=0

for file in $(ls $path)
do
    if [ -f $file ]
	then
	   let count++
	fi
done

echo "count = $count"

exit 0

2. 写一个脚本,利用循环求10!

#!/bin/bash

sum=1
for num in $(seq 10)
do
    let sum=sum*num
done

echo "sum = $sum"

exit 0

3. 写一个脚本,执行后打印一行提示“please input a number: ”,要求用户输入数值,然后打印数值,然后再次提示用户输入,直到“end”停止

#!/bin/bash

while [ 1 -gt 0 ]
do
    echo -n "please input a numner: "
    read number
	if [ $number == "end" ]
	then
	    break
	fi
	echo "input number is $number"
done

exit 0

4. 写一个脚本,利用循环计算100以内能被3整除的数的和

#!/bin/bash

sum=0
for num in $(seq 100)
do
    let mod=num%3
    if [ $mod -eq 0 ]
	then
	    let sum=sum+num
	fi
done
echo "sum = $sum"

exit 0

5. 写一个函数,利用shift计算所有参数的乘积,假设参数都是整数

#!/bin/bash

function GetResult(){
    sum=1
	while [ $# -gt 0 ]
	do
		 let sum=sum*$1
		 shift
	done
    echo "sum = $sum"
}

GetResult 1 2 3 4 5
exit 0

6. 写一个脚本模拟Linux登录

#!/bin/bash

echo -n "login:"
read username
echo -n "passwd:"
read passwd

if [ $username == "cgl" -a $passwd == "123" ]
then
     echo "login successfuly"
else
     echo "login error"
fi

exit 0

7. 删除给定目录下大小为0的文件

#!/bin/bash

path=/home/chenguolin

for file in $(ls $path)
do
    num=$(ls -l $file | cut -f5 -d" ")
	if [ $num -eq 0 ]
	then
	   $(rm $path/$file)
	fi
done

exit 0

8. 写一个脚本,把给定目录下的所有普通文件更改名字为1,2,3.....

#!/bin/bash

path=/home/chenguolin
index=1

for file in $(ls $path)
do
    if [ -f $file ]
	then
       $(mv $file $index)
	   let index++
	fi
done

exit 0

9. 写一个脚本,随机生成32位密码

#!/bin/bash

psd="/proc/sys/kernel/random/uuid"
echo $(cat $psd)

exit 0

10. 写一个脚本,实现批量添加20个用户,用户名为user1-20,密码为user后面跟5个随机字符。

#!/bin/bash

for num in $(seq 20)
do
    pwd=$(cat /dev/urandom | head -1 | md5sum | head -c 5)
    $(useradd user$num)
	 echo "user$num$pwd" | passwd --stdin user$num
done

exit 0

11. 写一个脚本,实现判断192.168.1.0/24网络里,当前在线的IP有哪些,能ping通则认为在线

#!/bin/bash

for num in $(seq 25)
do
    let num--
    $(ping 192.168.1.$num 2>&1 /dev/null)
	if [ $? -eq 0 ]
	then
	    echo "192.168.1.$num up"
	else
	    echo "192.168.1.$num down"
	fi
done

exit 0

12. 编写个shell 脚本将/usr/local/test 目录下大于100K 的文件转移到/tmp 目录下

#!/bin/bash

path="/usr/local/test"
for file in $(ls $path)
do
    if [ -f $file ]
	then
	   if [ $(ls -l $file | cut -f5 -d" ") -gt 100000 ]
	   then
	       $(mv $file /tmp)
	   fi
	fi
done

exit 0
时间: 2024-09-30 16:19:29

shell脚本实例集合的相关文章

php管理nginx虚拟主机shell脚本实例_php技巧

本文实例讲述了php管理nginx虚拟主机shell脚本,分享给大家供大家参考.具体分析如下: 使用php作为shell脚本是一件很方便的事情.理所当然,我们可以使用php脚本来管理 nginx虚拟主机,下面是笔者的 脚本 文件供各位参考: 复制代码 代码如下: #!/usr/bin/php -q <?php   start: fwrite(STDOUT,"===========Vhost Script===========\n"); fwrite(STDOUT,"=

ssh远程执行命令方法和Shell脚本实例_linux shell

写这篇博客之前,我google了一堆相关文章,大都是说修改/etc/sudoers,然后NOPASSWD:指定的cmd,但是真心不管用,没有远程虚拟终端这个方法就是浮云,ubuntu10.04 server 亲测!! ssh执行远程操作命令格式 复制代码 代码如下: ssh -p $port $user@$p 'cmd'    $port : ssh连接端口号  $user: ssh连接用户名  $ip:ssh连接的ip地址  cmd:远程服务器需要执行的操作  准备工作 基于公私钥认证或者用户

linux中MySQL慢日志监控shell脚本实例

针对脚本的注解和整体构思,我会放到脚本之后为大家详解. #!/bin/bash    MON_FILE="$2"   # 指定所要监控的脚本路径 SEC=60          # 指定所要监控的频率,即间隔多久去查看一次 MON_POINT_FILE=/tmp/mon_mysql_slow.point  # 指定MySQL慢日志的监控点存放的路径 DIFF_MON_FILE=/tmp/mon_mysql_slow.log     # 指定在监控频率内增加的MySQL慢日志信息存放路径

备份shell脚本实例代码_linux shell

1.backup_run.sh 复制代码 代码如下:     #!/bin/sh    # backup_run    # script to run the backups    # loads in a setting file for the user to change    SOURCE=/home/bob/backup.defaults    check_source()    {        # check_source        # can we load the file

Shell脚本检查IP格式及mysql操作实例_linux shell

还是cronjob的一部分,就是在Rails的定时任务里,后台交互运行 CheckIPAddress() { echo $1 |grep "^[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}$" > /dev/null if [ $? = 1 ]; then return 1 else a=`echo $1 | awk -F. '{print $1}'` b=`echo $1 | awk -F. '{print $2}'

用shell脚本监控进程是否存在 不存在则启动的实例_linux shell

用shell脚本监控进程是否存在 不存在则启动的实例,先上代码干货: #!/bin/sh ps -fe|grep processString |grep -v grep if [ $? -ne 0 ] then echo "start process....." else echo "runing....." fi ##### processString 表示进程特征字符串,能够查询到唯一进程的特征字符串 0表示存在的 $? -ne 0 不存在,$? -eq 0 存

V6scripts 20111025发布 shell脚本集合

V6scripts是一个shell脚本的集合,又称为命令文件,提供了osh 和 sh6 脚本运行范例. V6scripts 20111025版本需要用户指定一个绝对目录的安装目录路径名.增加了一个"- H"选项帮助history.osh.增加了' - 'egrep的history.osh调用,以防止" - "时使用"- P模式"选项的错误. 软件信息:http://v6shell.org/v6scripts/ 下载地址:http://v6shel

linux中的shell脚本管理(二)

在Shell脚本中执行使用if语句的好处是:可以根据特定的条件(eg:判断备份目录是否存在)来决定是否执行某项操作,当满足不同的条件时执行不同的操作(eg:备份目录不存在则创建该目录,否则跳过操作).该文将分别从条件测试操作,if语句结构,应用示例这三个方面讲解if语句在Shell脚本中的应用. 1.条件测试操作: 需要在Shell脚本中有选择性地执行任务时,首先面临的问题就是,如何设置命令执行的条件? 在Shell环境中,可以根据命令执行后返回状态值来判断该命令是否成功执行,当返回值为0是表示

Linux shell脚本基础学习详细介绍(完整版)

Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提. 1. Linux 脚本编写基础 ◆1.1 语法基本介绍1.1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在这个例子中我们使用/bin/sh来执行程序. 当编辑好脚本时,如果要执行该脚本,还必须使其可执行. 要使脚本可