shell 脚本学习

1.简单的查看登陆用户数

root命令下:

cat   > nurse

who|wc  -l

ctrl+d表示文件结束

chmod +x  nurse

./nurse 执行

 

 

echo  -n 参数可以忽略换行的命令

sed 的用法:

 

一个简单的脚本

#!/bin/bash
  2 echo  -e "**A 显示最后5个系统帐号    **B 显示系统运行的时间\t"
  3 echo  -e "**C 显示根目录是否超过50%  **D 显示处于listen的进程  \t"
  4 echo  -e "**E 显示系统IP及掩码       **F 添加系统用户 \t     "
  5 echo  -e "**G 使用频率最多的10条命令"
  6 read  -p "请输入(A,B,C,D,E,F,G):"   u
  7 case $u  in
  8       [aA])
  9       tail -5  /etc/passwd |awk  -F: '{ print $1,3}';;
 10       [bB])
 11       echo "你的系统运行了:"`uptime |awk '{ print $3}'`;;
 12       [cC])
 13       user=`df |grep /$|awk '{ print $4}'|sed 's/%//'`
 14            if [ "$user" -gt 50 ];  then
 15            echo "disk is userd over  50%"
 16            else
 17            echo  "disk is userd below 50%"
 18             fi;;
 19       [dD])
 20            netstat -tupln|grep LISTEN|awk '{ print $7}'|awk -F / '{ print $1"("$2")" }'
 21                   ;;
 22        [eE])
 23         ip=` ifconfig eth0|grep "inet addr:"|awk '{ print $2}'|cut -d: -f2`
 24        mask=`ifconfig eth0|grep "inet addr:"|awk '{ print $4}'|cut -d: -f2`
 25           echo "$ip/$mask";;
 26       [Ff])
 27        read -p "please input username:" username
 28       read  -p "please input passwd:" passwd
                                                                                   

执行

**A 显示最后5个系统帐号    **B 显示系统运行的时间 
**C 显示根目录是否超过50%  **D 显示处于listen的进程   
**E 显示系统IP及掩码       **F 添加系统用户      
**G 使用频率最多的10条命令
请输入(A,B,C,D,E,F,G):

例2

#!/bin/bash
set -C
s=192.168.2.
for i in {1..6};
do
ping -c1  -w1  "$s$i">>/dev/null
if [ $? -eq 0 ];
then
echo "$s$i 存在"
let m=m+1
else
echo "$s$i 不存在"
let n=n+1
fi
done
echo "主机关机:$n个"
echo "主机开机:$m个"             

执行:

192.168.2.1 存在
192.168.2.2 不存在
192.168.2.3 不存在
192.168.2.4 不存在
192.168.2.5 不存在
192.168.2.6 存在
主机关机:4个
主机开机:2个

例3:

#!/bin/bash
echo -n "please input your passwd:"
stty  -echo
read passwd < /dev/tty
echo -e "\n again"
read passwd2 < /dev/tty
stty   echo
echo "$passwd and $passwd2"
执行:

 please input your passwd:
 again
123 and 123    

密文显示内容

例4:

#!/bin/bash
read -p "输入你想要查询的名字:" m
who |awk '{ print $1}'|uniq|grep "$m">>/dev/null
if [ 0 -eq $? ];
then
echo "已登陆"
else
echo "未登陆"
fi

执行  

输入你想要查询的名字:root
已登陆

输入你想要查询的名字:user  1        
未登陆

你可能感兴趣的:(shell,脚本,简单例子)