QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 985|回复: 3

谁能帮我看看这个。。初学不知道怎么写好?!

[复制链接]
发表于 2005-11-20 01:32:58 | 显示全部楼层 |阅读模式
麻烦朋友帮忙看看这个怎么写。。初学。。。不知道怎么下手。。。

给点思路也好。。。

把关键的点告诉就好了了。。

谢谢各位了


题目:
一、创建以下菜单程序:
USER: PC**            HOST: ********             DATE: **/10/2005
A: 创建子目录并复制文件
B: 文件权限测试
C: 文件字符转换
D: 文件总数统计
E: 文本文件行数统计
Q: 退出系统
—————————————————————————————————
  A:在用户家目录下创建名字为本人姓名的子目录,其存取权限为(drwxr-xr-x)。测试目录确实存在后将file1、file2两文件考入其中并分别显示两文件的内容。
  B:测试当前用户对系统中某文件是否有r、w、x的权限,输出测试结果。
  C:将file1、file2两文件中的小写字符转换为大写,逐一显示转换后的文件内容。
  D:统计某个目录下文件的总数,输出结果中包含该目录的名称及文件总数。
  E:统计系统中某文本文件的行数。

二、假设pc.txt文件中保存了三个班级的学生成绩,请编写一段shell程序计算每个班级的学生人数与平均分。
pc.txt文件内容如下:
Zhanghong:class1:75  
                wangliang:class2:68
                liming:class3:99
                dave:class2:83
                liuhai:class3:23
                fangyuan:class1:77
  注:以上各例均要输出当前执行的SHELL程序的名称
 楼主| 发表于 2005-11-20 12:54:38 | 显示全部楼层
# Display menu
#
DATE= $( date +%D )
HOST='hostname -s'

while :
do
tput clear
echo "
=====================================================
    User:$USER   Host:$HOST   Date:$DATE
=====================================================
       
        1: Create a directiry and copy a file
        2: Test a file with "chmod"
        3: Covert char...
        4: Total of files
        5: Total about lines in flies
        Q: Quit

=====================================================
    Please select :
"
read choice
echo
case $choice
in
  1) echo 'file1' > file1
     echo 'file2' > file2
     mkdir "$USER"
     chmod 700 "$USER"
     if [ -d /"$HOME"/"$USER" ]
     then
        echo "Now copy file1 file2 to $HOME/$USER/"
        mv file1 file2 $HOME/$USER
        if [ -e  $HOME/$USER/file1 -a -e $HOME/$USER/file2 ]
        then
           echo "Successful!"
        fi
     echo
     cat $HOME/$USER/file1
     cat $HOME/$USER/file2
     fi
     ;;
   2) echo 'Please type a location of file :'
      read URL
      ls -l $URL
      ;;
   3) #if [ -e $HOME/$USER/file1 -a -e $HOME/$USER/file2]
      #then
      echo "Now file1"
         tr '[a-z]' '[A-Z]' < $HOME/$USER/file1
      echo "Now file2"
         tr '[a-z]' '[A-Z]' < $HOME/$USER/file2
      #fi
      ;;
   4) echo "Please type a directiry :"
      read dir
      echo "dir"
      ls -l $dir | grep '^-' | wc -l
      ;;
   5) echo "Please type a file :"
      read file
      if [ -e $file ]
      then
         wc -l $file
      else
         echo "error"
      fi
      ;;
   Q|q) exit 0
esac

done


我做的第一个。。不知道怎么把时间和HOST名字加上。麻烦版主指点。。

还有第二个。不知道用什么方法+数字。。。

我用的是cut -d:f2,3

谢谢
回复

使用道具 举报

 楼主| 发表于 2005-11-21 00:49:38 | 显示全部楼层
怎么没人理~?   
回复

使用道具 举报

发表于 2005-11-21 02:22:33 | 显示全部楼层
时间是date命令
不清楚你的HOST是什么意思

jeef@Lap:~> mumu=$((2+3))
jeef@Lap:~> echo $mumu
5
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-9-30 10:27 , Processed in 0.038115 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

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