shell示例(一)

简介

shell示例总结。

shell脚本示例

示例1:实现以下输出

请输入姓名:111
请输入年龄:222
请输入性别:333


你的基本信息如下:
姓名: 111
年龄:222
性别:333


代码:

	#!/bin/bash
	read -p "请输入姓名:" name
	read -p "请输入年龄:" age
	read -p "请输入性别:" sex
	
	*************************************
	
	cat<<eof
	你的基本信息如下:
	姓名:$name
	年龄:$age
	性别:$sex
	
	*************************************

	eof

示例2 :检查目录是否存在,请输入目录

代码:

#!/bin/bash
		read -p "请输入目录:" dic
		if ls $dic > /dev/null 2>&1;then
		        echo "$dic is exist"
		else
		        echo "$dic is not exist"
		fi

示例3:判断用户在系统中是否存在,是否有家目录

代码:

	#!/bin/bash
	read -p "请输入用户名:" username
	if grep $username /etc/passwd >/dev/null 2>&1;then
	        echo "the user $username is exist"
	elif ls -d /home/$username >/dev/null 2>&1;then
	        echo "the user $username  has home"
	else
	        echo "the user $username is not exist"
	        echo "the user $username  has not home"
	fi

示例4:两个整数是否相等

代码:

	#!/bin/bash
	read -p "请输入第一个整数:" aa
	read -p "请输入第二个整数:" bb
	if [ $aa -eq $bb ];then
	        echo "$aa 等于 $bb"
	else
	        echo "$aa 不等于 $bb"
	fi

示例5:比较两个整数

代码:

	#!/bin/bash
	read -p "请输入第一个整数:" aa
	read -p "请输入第二个整数:" bb
	if [ $aa -gt $bb ];then
	        echo "$aa > $bb"
	elif [ $aa -lt $bb ];then
	        echo "$aa < $bb"
	else
	        echo "$aa = $bb"
	fi

示例6:根据用户名判断是否是超级管理员

代码:

	#!/bin/bash
	read -p "请输入用户名:" u
	if [ $u == "root" ];then
	        echo "$u is superadministrator"
	else
	        echo "$u is not superadministrator"
	fi
示例7:清空日志/var/log/messages

代码:
	#!/bin/bash
	if [ ! $user == "root" ];then
	        echo "脚本执行需要管理员"
	        exit 10
	fi
	if [ ! -f /var/log/messages ];then
	        echo "日志文件不存在"
	        exit 11
	fi
	
	tail -n 100 /var/log/messages > /var/log/messages.tmp

	  >  /var/log/messages
	  mv /var/log/messages.tmp /var/log/messages
	  echo "logs clean up"

示例8:输入的文件是目录还是文件,都不是输出其他

代码:

	#!/bin/bash
	read -p "please input file:" file
	if [ -z $file ];then
	        echo "Error,please input a filename!"
	elif [ -f $file ];then
	        echo "$file file is file!"
	elif [ -d $file ];then
	        echo "$file is directory!"
	elif [ ! -e $file ];then
	        echo "your input is not file!"
	else
	        echo "$file is other!"
	fi

示例9:根据学生的成绩判断学生的优劣,四种成绩:补考、良好、好、优秀

代码:

	#!/bin/bash
	read -p "请输入你的成绩:" cj
	if [ $cj -ge 0 ] && [ $cj -le 59 ];then
	        echo "补考"
	elif [ $cj -ge 60 ] && [ $cj -le 70 ];then
	        echo "良好"
	elif [ $cj -ge 71 ] && [ $cj -le 85 ];then
	        echo "好"
	elif [ $cj -ge 86 ] && [ $cj -le 100 ];then
	        echo "优秀"
	else
	        echo "请输入0-100之间"
	fi

示例10:每周一晚上 3:00 ,备份数据库服务器上 webdb 库的所有数据到系统的/mysqlbak 目录里,使 用系统日期做备份文件名

代码:

	#!/bin/bash
	bakfilename=`date +%F`
	bakdir=/mysqlbak
	bakuser=root
	bakpasswd=12345
	bakdbname=webdb
	[ -e $bakdir ]||mkdir $bakdir
	mysqldump -u$bakuser -p$bakpasswd -flush-logs $bakdbname >$bakdir/${bakfilename}-webdb.sql

	[root@mail ~]# crontab -e
	
	0   3   *   *   1   /root/test/mysqlbak.sh

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值