写一个脚本:
1、设定变量FILE的值为/etc/passwd
2、依次向/etc/passwd中的每个用户问好,并显示对方的shell,形如:
Hello, root, your shell: /bin/bash
3、统计一共有多少个用户

#!/bin/bash
FILE="/etc/passwd"
num=`wc -l < $FILE`
echo "User count:$num"
for i in `seq $num`;do
Username=`head -$i $FILE |tail - | cut -d: -f1`
Shell=`head -$i $FILE | tail - | cut -d: -f7`
echo "Hello,$Username,your shell: $Shell"
done

写一个脚本:
1、添加10个用户user1到user10,密码同用户名;统计这10个用户的ID号之和;

#!/bin/bash
for i in `seq `; do
useradd user$i
echo "user$i" | passwd --stdin user$i
userid=`grep "user$i" /etc/passwd | cut -d: -f3`
sumid=$[ $sumid + $userid ]
done
echo "ID COUNT:$sumid"

写一个脚本,分别显示当前系统上所有默认shell为bash的用户和默认shell为/sbin/nologin的用户,并统计各类shell下的用户总数。显示结果形如:
BASH,3users,they are:
root,redhat,gentoo

NOLOGIN, 2users, they are:
bin,ftp

#!/bin/bash
BASH_C=`grep '/bin/bash' /etc/passwd | wc -l`
NOLOGIN_C=`grep '/sbin/nologin' /etc/passwd | wc -l`
echo "BASH,$BASH_C'users',they are:"
for i in `seq $BASH_C`;do
BASH_N="$BASH_N`grep '/bin/bash' /etc/passwd | head -$i | tail -1 | cut -d: -f1`,"
done
echo $BASH_N | sed 's/,$//'
echo "NOLOGIN,$NOLOGIN_C'users',they are:"
for i in `seq $NOLOGIN_C`;do
NOLOGIN_N="$NOLOGIN_N`grep '/sbin/nologin' /etc/passwd | head -$i | tail -1 | cut -d: -f1`,"
done
echo $NOLOGIN_N | sed 's/,$//'

写一个脚本:
1) 显示一个菜单给用户:
d|D) show disk usages.
m|M) show memory usages.
s|S) show swap usages.
*) quit.
2) 当用户给定选项后显示相应的内容;
3) 当用户选择完成,显示相应信息后,不退出;而让用户再一次选择,再次显示相应内容;除了用户使用quit;

#!/bin/bash
#创建函数s
s(){
echo '---------------------------Options------------------------------'
echo 'd|D) show disk usages.'
echo 'm|M) show memory usages.'
echo 's|S) show swap usages.'
*) quit.
#输入一个选项参数S
read -p 'Please input your select:' S
}
#调用函数s
s
#创建一个while循环,只要是选项是dmsDMS,则进入case,若不是,则直接while循环结束
while [[ $S == [dmsDMS] || $S == 'quit' || $S == * ]];do
case $S in
[dD])
df -lh;
[mM])
free -m -l | grep -v '^Swap';;
[sS])
free -m -l | grep '^Swap';;
quit)
   exit;;
*)
echo '---------------------------Warning!------------------------------'
echo 'Please input your correct select,eg:[dDmMsS|quit]'
;;
esac
s
done

选项的使用

#!/bin/bash
help(){
echo "-m memory"
echo "-s swap"
echo "-d disk space"
echo "-q quit"
}
help
while getopts msdqh select
do
case $select in
m) free -m -l | grep -v '^Swap';;
s) free -m -l | grep '^Swap';;
d) df -lh;;
q) exit;;
h)help;;
*)
echo "Please select help options -h ";;
esac
done

最新文章

  1. 七天学会ASP.NET MVC (六)——线程问题、异常处理、自定义URL
  2. 使用Ant打包工具 基本介绍
  3. disque概要
  4. FromHandle函数
  5. 怎么把GPUImageFIlter处理过的图像保存成UIImage
  6. 使用js使表单自动提交
  7. [jQuery编程挑战]003 克隆一个页面元素及其相关事件
  8. [翻译]初识SQL Server 2005 Reporting Services Part 1
  9. UI 常用(UIButton)
  10. ci框架中表前缀的处理
  11. K:哈弗曼树
  12. 【Android 应用开发】自定义View 和 ViewGroup
  13. WinForm设置注册表自动启动
  14. 【Spring Boot】使用JDBC 获取相关的数据
  15. 強大的jQuery Chart组件-Highcharts
  16. 【python】print &#183; sys.stdout &#183; sys.stderr
  17. 【重大更新】DevExpress v17.2新版亮点—WPF篇(三)
  18. AI(四): 微信与luis结合(下)
  19. java 管道流代码示例
  20. Element DatePicker日期范围选择

热门文章

  1. [原]Sublime Text3 搭建16位汇编环境(windows)
  2. XJOI网上同步训练DAY1 T1
  3. POJ 2888 Magic Bracelet(burnside引理+矩阵)
  4. LeetCode_Wildcard Matching
  5. OpenSceneGraph是一个开源的三维引擎
  6. Sql Server 面试题
  7. Oracle ORA-03137: TTC protocol internal error : [12333] 故障分析
  8. windows中.msc文件详解
  9. Activity的onSaveInstanceState()和onRestoreInstanceState()方法
  10. add.fun.php