1、输出系统基本信息,通过命令自动获取相关值并代替*:

‏USER:****  HOST:****  DATE:****年**月**日

 
















 


2、创建以下菜单,并完成菜单相应功能:

如上图所示

‏A: 创建子目录并复制文件(在/tmp下创建子目录t,并将/proc/cpuinfo文件拷贝进去)

 ‏B: 文件权限测试(测试对/proc/cpuinfo是否有r、w、x的权限,分别输出测试结果)

‏C: 文件字符转换(将/proc/cpuinfo文件中的小写字符转换为大写并输出)

 

‏D: 子目录总数统计(统计自己主目录下字目录的数量并输出) 

 
‏E: 文本文件行数统计(统计/proc/cpuinfo文件中空行的行数并输出)

 

 


‏Q: 退出系统

 

3、运行脚本,测试每一个菜单功能,并将运行结果截图写入实验报告。


如上



4、shell脚本代码

 

#!/bin/bash

user=`whoami`

thishost=`hostname -s`

mydate=`date +%Y年%m月%d日`

cat <<temp

------------------------------------

USER:$user HOST:$thishost DATE:$mydate

------------------------------------

A:创建子目录并复制

B:文件权限测试

C:文件字符转换

D:子目录总数统计

E:文本文件行数统计

Q:推出系统

------------------------------------

temp

echo -n "请输入你的选择:"

read choice

case $choice in

A)mkdir ~/tmp/t

chmod 755 ~/tmp/t

cp -r /proc/cpuinfo ~/tmp/t

if [ -d ~/tmp/t ]

then

echo -n -e "目录以建立:"

fi

;;

B)echo "测试结果:"

if [-r /proc/cpuinfo ]

then

echo -n -e "有读的权限。"

else

echo -n -e "没有读的权限。"

fi

if [-w /proc/cpuinfo ]

                        then

                                echo -n -e "有写的权限。"

                        else

                                echo -n -e "没有写的权限。"

                        fi

if [-x /proc/cpuinfo ]

                        then

                                echo -n -e "有执行的权限。"

                        else

                                echo -n -e "没有执行的权限。"

                        fi

;;

C)sudo tr 'a-z' 'A-Z' < /proc/cpuinfo

;;

D)echo -n -e "~目录下子目录数量:"

ls -l ~ |grep ^d|wc -l

;;

E)echo -n -e "/proc/cpuinfo里的空行数:"

awk '/^$/' /proc/cpuinfo |wc -l

;;

Q)exit

echo -n -e "已退出系统!"

;;

esac

 

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐