Unix shell编程复习题.doc
上传人:qw****27 上传时间:2024-09-12 格式:DOC 页数:5 大小:24KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

Unix shell编程复习题.doc

Unixshell编程复习题.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

9、oktest3写一个shell来判断用户所输入的参数是否是一个数字#!/bin/bashecho"Pleaseinputanumber"readnumexpr$num"+"1(空格不能少)if[$?-eq0];thenecho"$numisanum"elseclearecho"$numnotanum"fi10、okmkdir1在linux里编写一个shell程序,在目录/userdata下创建50个目录分别是user1-user50,并设置个目录的权限#!/bin/bashfor((i=1;i<=50;i++));domkdir/userdata/user"$i"chmod777/userdata/user"$i"done11、user开头的目录是否存在,改为可读。12、user开头的目录是否存在,并删除。13、计算小于12的阶乘-jiecenok#!/bin/shiftest$1–gt12thenecho"Argumenttoobig!"exitelsei=$1j=1whiletest$i–ne0doj=`expr$j\*$i`i=`expr$i–1`doneecho$jfi14、ok编写一个名为chname的程序,将当前目录下所有的.txt文件更名为.doc文件。程序代码:#!/bin/shforfilein*.txtdoleftname=`basename$file.txt`mv$file$leftname.docdone15、ok编写一个名为ninenine的程序在屏幕上输出九九乘法表。程序代码:#!/bin/shforiin123456789doforjin123456789doecho-ne`expr$i\*$j`"\t"if(test$j-eq9)thenechofidonedone123456789246810121416183691215182124274812162024283236510152025303540456121824303642485471421283542495663816243240485664729182736455463728116、ok编写一个名为chuser的程序,执行中每隔5分钟检查指定的用户是否登录系统,用户名从命令行输入;如果指定的用户已经登录,则显示相关信息。程序代码:#!/bin/shiftest$#-ne1thenecho"Usage:chuserusername"elseuser="$1"untilwho|grep"$user">/dev/nulldosleep300doneecho"$userhasloggedon!"fi(1)如果没有从命令行输入用户名,则测试$#-ne1为“真”,显示用法提示信息。(2)程序中until语句的expression(循环条件)是who|grep“$user”命令执行的返回码,如果没有找到指定的用户名,返回码为非0(为“假”),则用sleep命令暂停执行程序5分钟;找到后返回码为0(为“真”),则终止循环并显示该用户已经登录的信息。(3)采用重定向到/dev/null空文件的目的是不显示查找到的用户其他信息。17、编写一个名为mini99的程序,在屏幕上输出小九九乘法表。程序代码:#!/bin/shforiin123456789doforjin123456789doif(test$j-le$i)thenecho-ne`expr$i\*$j`"\t"elseechobreakfidonedone1243694812165101520256121824303671421283542498162432404856649182736455463728118、ok编写一个名为puteven的程序,在屏幕上输出0到指定数之间的所有偶数。程序代码:#!/bin/shecho-nPleaseinputthenumber:readnumi=1whiletest$i-le$numdoiftest`expr$i\%2`-ne0theni=`expr$i\+1`continuefiecho$ii=`expr$i\+1