smalpha 发表于 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程序的名称

smalpha 发表于 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 '' '' < $HOME/$USER/file1
      echo "Now file2"
         tr '' '' < $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

谢谢

smalpha 发表于 2005-11-21 00:49:38

怎么没人理~? :shock::shock:

ivyharry 发表于 2005-11-21 02:22:33

时间是date命令
不清楚你的HOST是什么意思

jeef@Lap:~> mumu=$((2+3))
jeef@Lap:~> echo $mumu
5
页: [1]
查看完整版本: 谁能帮我看看这个。。初学不知道怎么写好?!