博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell实战训练营Day20
阅读量:6432 次
发布时间:2019-06-23

本文共 1489 字,大约阅读时间需要 4 分钟。

编写一个问候程序,它执行时能根据系统当前的时间向用户输出问候信息。假设从半夜到中午为早晨,中午到下午六点为下午,下午六点到半夜为晚上。

!/bin/bash

d=date +%H
if [ $d -ge 0 -a $d -lt 7 ] # -a 表示并且
then tag=1
elif [ $d -ge 7 -a $d -lt 12 ]
then tag=2
elif [ $d -ge 12 -a $d -lt 18 ]
then tag=3
else
tag=4
fi

case $tag in

1)
echo "zaoshanghao"
;;
2)
echo "shangwuhao"
;;
3)
echo "xiawuhao"
;;
4)
echo "wangshanghao"
;;
*)
echo "error"
;;
esac

写一个shell脚本,实现简单的弹出式菜单功能,用户能根据显示的菜单项从键盘选择执行对应的命令。

#!/bin/bash

PS3="输入数字(1-3):"
select i in w ls pwd exit
do
case $i in
w)
w
;;
ls)
ls
;;
pwd)
pwd
;;
exit)
exit
;;
*)
echo "输入数字(1-3):"
;;
esac
done

写一个shell脚本,执行中每隔5分钟检查指定的用户是否登录系统,用户名从命令行输入,如果指定的用户已经登录,则显示相关信息。

#!/bin/bash

#read -p "输入一个用户:" c
while :
do
if w|sed '1d'|awk '{print $1}'|grep -qw "$1"
then
echo "$1已经登录"
exit
fi
sleep 30
done

先普及一个小常识,我们用ps aux可以查看到进程的PID,而每个PID都会在/proc内产生。如果查看到的pid在proc内是没有的,则进程被人修改了,这就代表系统很有可能已经被***过了。 请用上面知识编写一个shell,定期检查下自己的系统是否被人***过

#!/bin/bash

#read -p "输入一个用户:" c
while :
do
if w|sed '1d'|awk '{print $1}'|grep -qw "$1"
then
echo "$1已经登录"
exit
fi
sleep 30
done
[root@love01 shell100]# cat 44.sh
#!/bin/bash
pp=$$ #shell的pid
ps -elf |sed '1d' >/tmp/pid.txt
for pid in awk -v ppn=$pp '$5!=ppn {print $4}' /tmp/pid.txt
do
if ! [ -d /proc/$pid ]
then
echo "系统中没有pid为$pid的目录,请检查"
fi
done

想办法把文本里面每三行内容合并到一行 例如:1.txt内容

1

2
3
4
5
6
7
处理后应该是

1 2 3

4 5 6
7

#!/bin/bash

n=1
cat $1 |while read line
do
n1=$[$n%3]
if [ $n1 -eq 0 ]
then
echo "$line"
else
echo -n "$line" #不换行输出
fi
n=$[$n+1]
done

转载于:https://blog.51cto.com/12948291/2342644

你可能感兴趣的文章
阿里云上Kubernetes集群联邦
查看>>
我的Git忽略文件
查看>>
洛谷2219:[HAOI2007]修筑绿化带——题解
查看>>
监控webservice信息
查看>>
a标签中href=""的几种用法(转)
查看>>
python
查看>>
ubuntu 常用生产环境部署配置测试调优
查看>>
【JS】//将中文逗号转换为英文逗号
查看>>
在VS2012中实现Ext JS的智能提示太简单了
查看>>
Extnet Direct 提交后台事件文件下载设置
查看>>
邻接矩阵与二叉排序树
查看>>
CSS选择器
查看>>
购物车练习
查看>>
js实现在表格中删除和添加一行
查看>>
SOCKET简单爬虫实现代码和使用方法
查看>>
导出excel数字变成科学计数法解决办法
查看>>
跨域解决方案汇总
查看>>
In App Purchase
查看>>
js判断对象的类型的四种方式
查看>>
RPC框架的可靠性设计
查看>>