LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1424|回复: 4

简单脚本练习

[复制链接]
发表于 2003-2-22 00:43:50 | 显示全部楼层 |阅读模式
给兄弟们出点题,高手们练练手,菜鸟们也提高提高 ,,,
交流探讨共同提高!是咱们的目的!
*本shell编程练习系列由浅入深陆续推出~~~*

写一个myinfo的脚本
要求:
1.脚本中必须包含注释(好的编程习惯)
2.脚本完成如下工作:
(1)输出系统注册人数
(2)显示当前时间和日期
(3)显示当前工作目录
(4)列出所有根目录下的目录文件
(5)显示目前正在使用的shell名
(6)显示含有你的注册名的口令文件里的一行
(7)显示用户标示符
(8)显示本地主机的机器名
(9)显示磁盘使用情况
(10)显示本月的日历
(11)对使用用户说GOODBEY并显示离开时候的时间日期
 楼主| 发表于 2003-2-22 20:48:13 | 显示全部楼层
是不是都觉得简单?
  1. javalee//home/javalee/lx>cat xt3
  2. #! /bin/ksh
  3. #scriptname:xt3
  4. #display your system information
  5. #script start...
  6. print "当前注册用户:$LOGNAME"
  7. print "当前日期时间:$(date +%x%X)"
  8. print "当前工作目录:$PWD"
  9. print "\t\t\t主目录下所有目录文件:"
  10. ls /
  11. print "当前登录的shell是:$SHELL"
  12. print "注册用户信息:"
  13. grep $LOGNAME /etc/passwd
  14. print "您的用户表示符:$USER"
  15. print "您所使用的主机名:$HOSTNAME"
  16. print "您磁盘使用情况:"
  17. df -h
  18. print "本月日历"
  19. cal
  20. print "Good-bey...."
  21. print "用户$USER离开的时间:$(date +%x%X)"
复制代码
 楼主| 发表于 2003-2-27 22:51:18 | 显示全部楼层
这个应该有些难度 ;)

A.写一个脚本,它将:
1,要求用户输入全名,--姓和名
2,问候输入的用户
3,询问用户的出生日期并计算他的年龄
4,询问用户的注册名并显示他的用户ID
5,告诉用户他的其实目录
6,向用户显示他正在运行的进程
7,告诉用户今天的日期
B.创建一个文本文件datafile,每一项由冒号分隔的域组成,包括:
1,姓名
2,电话号码
3,地址
4,生日
5,年薪
C.创建一个循环脚本,他包括:
1,包含一个注释段,里面有该脚本名字,你的名字,日期和该脚本的用途
2,按姓排序
3,向用户显示datafile的内容
4,告诉用户该文件大小
C.用-x和-v选项调试脚本,比较两个选项的区别.
 楼主| 发表于 2003-3-1 17:51:16 | 显示全部楼层
呵~~不知道大家作的如何? ;)看着不难吧,但都是基础.我先帖出来A部分.请指教
  1. javalee//home/javalee/lx>cat lx5
  2. #! /bin/ksh
  3. #脚本:lx5
  4. #作者:javalee
  5. #描述:实际就是read命令的基本使用方法,和如何限制输入信息
  6. #script start...
  7. ################
  8. clear
  9. print -n "****用户信息****\n"
  10. print -n "请输入姓:"
  11. read xing
  12. print -n "请输入名:"
  13. read ming
  14. print "您好,$xing$ming."
  15. while
  16. do
  17. print -n "您的出生日期:"
  18. read riqi
  19. integer BITS=32
  20. integer len
  21. len=${#riqi}
  22. if [[ "$riqi" = [a-zA-Z]* || $len != 4 ]]
  23. then
  24. print "错误! 重新输入"
  25. continue
  26. else
  27. break
  28. fi
  29. done
  30. typeset -i nl
  31. nl=$(date +%Y)-$riqi
  32. print "您的年龄是:$nl岁"
  33. print -n "输入你的注册名:"
  34. read zc
  35. if [[ "$zc" != "$LOGNAME" ]]
  36. then
  37. print "$zc没有登录!"
  38. exit
  39. fi
  40. print "用户$USER的起始目录是$HOME"
  41. print "用户$USER目前的正在运行的进程:\n"
  42. top -i
  43. print "$xing$ming结束脚本时间$(date +%Y/%m/%d/%T)"
复制代码
 楼主| 发表于 2003-3-4 00:57:09 | 显示全部楼层
B部分我基本作完啦,正在处理用户非法输入的问题,实际上这个脚本可以修改成通讯录之类的(RH有图形的),添加,修改,删除,..等功能.
看来大家的反应不是很好
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表