定义一个函数 user_list
作用:显示用户列表
function user_list { cat /etc/passwd | grep [5-9][0-9][0-9] | cut -d: -f1,6 | sed {=} | sed 'N; s/\n/: /' }
awk '{FS=":";if($3>500&&$3<1000){print $1}}' /etc/passwd | sed {=} | sed 'N; s/\n/:/'
第2种写法比较好,根据用户的UID来进行筛选比较好控制
以下是一个多级菜单的结构化逻辑嵌套:效果如附件代码
declare flag=0 clear while [ "$flag" -eq 0 ] do case in 1) while [ "$flag" -eq 0 ] do case $input1 in 1) ;; 2) ;; 3) ;; 0) ;; *) ;; esac done ;; 2) while do case in 1) ;; 2) ;; 3) ;; 4) ;; 0) ;; *) ;; esac done ;; 3) while do case in 1) ;; 2) ;; 0) ;; *) ;; esac done ;; esac done
trap "rm $USER_ACCOUNT_Running_Process.rpt" SIGTERM SIGINT SIGQUIT
trap 当捕捉到指定信号后,执行设定的命令
16) SIGTERM 程序结束(terminate)信号, 与SIGKILL不同的是该信号可以被阻塞和处理. 通常用来要求程序自己正常退出. shell命令kill缺省产生这个信号
2) SIGINT 程序终止(interrupt)信号, 在用户键入INTR字符(通常是Ctrl-C)时发出
3) SIGQUIT 和SIGINT类似, 但由QUIT字符(通常是Ctrl-/)来控制. 进程在因收到SIGQUIT退出时会产生core文件, 在这个意义上类似于一个程序错误信号.
#输出行号 [root@beijing test]# ls | cat -n 1 1.txt 2 2.txt 3 cal.sh 4 catinfo.txt 5 cmd.sh 6 date.sh 7 func.sh 8 index.sh 9 menu.sh 10 output.session
#输出每个用户所占用的CPU百分比 top -bn 1 | awk '{if (NR>7) print $0}' | awk '{sum[$2]+=$9}END{for (i in sum) printf "%.2f %s\n" ,sum[i],i}' | sort -nr
#统计nginx的access.log中每个url的访问数和流量,输出前10名 awk '{print $7"\t" $10}' access_2010-12-8.log|awk '{S[$1]+=$2;S1[$1]+=1}END{for(i in S) print S[i],S1[i],i}'|sort -rn|head -10
转载于:https://blog.51cto.com/liuxinglan7/1609549