《LINUX-第四章课后编程题答案.pdf》由会员分享,可在线阅读,更多相关《LINUX-第四章课后编程题答案.pdf(8页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、LINUX编写一个 shell 脚本,它把第二个位置参数及其以后的各个参数指定的文件复制到第一个位置参数指定的目录中。#!/bin/bashdir=$1/初始化shift/参数向左移while$1/循环dofile=$1/初始化,赋值现在位置的参数1cp$1$dir/将现位置参数 1 中的值复制到目录中shift/参数左移donels$dir 显示指定目录中的列表运行:bash 代码名称要移动的目录要移动的文件4.10编写一个 shell 脚本,显示当天日期,查找给定的某用户是否在系统中工作。如果在系统中,就发一个问候给他。#!/bin/bashdate/显示日期ifwho|grep$1/寻找
2、用户thenwrite$1 !/对用户发消息!echo hello!fi运行:bash vi 编辑的文件打印给定目录的某些文件,由第一个参数指出文件所在的目录,其余参数是要打印的文件名#!/bin/bashdir=$1cd$dirshiftfor f in$;docat$fdone运行:bash 程序代码名称目录名称文件名称利用 for 循环将当前目录下的(*.c)文件移到指定的目录下,并按文件大小排序,显示移动后指定目录的内容。#!/bin/bashfor file in ls-l/root/a|grep.*.c(Tab 键上面的)mv/root/a/$file/root/bls-lS/ro
3、ot/b运行:bash vi 创建的文件利用数组形式存放 10 个城市的名字,然后利用 for 循环把他们打印出来。#!/bin/bashfor xahar in kaxkar tumxukaksukumul hotan atuxalar turpan urumqialtaydoecho$xahardone运行:bash 程序代码名称4.14编写一个 shell 脚本,求斐波那契数列的前10 项及总和。4-14#!/bin/basha=1b=1echo n e$at$blet n=a+bcount=4while$count gt 0 dolet a=a+blet b=b+aecho n e t
4、$at$blet n+=a+blet count=count-1ddddeeeeecho The sum is$n运行:bash vi 创建的文件4.16显示前面所执行的 40 个命令的清单,重新执行倒数第5 条命令。编写其中一条命令,然后执行。运行:history 40#!-5定义一个别名命令,它等价的功能是:显示当前日期和工作目录,并列出有多少用户在系统上工作。#!/usr/bin/bashecho$(date)echo$(pwd)who|wc-w运行:bash 代码名称4.18设计一个程序 cuts,它由标准输入读取数据,获取由第一个参数 n 和第二个参数 m 所限定范围的数据,n 和 m 都是整数,即从输入的字符串中抽取第n 个字符至第 m 个字符之间的所有字符(包括这两个字符)。#!/usr/bin/bashread line;expr substr$line$1$2;运行:bash vi 创建的文件 1 3再次输入 abdukader意思是用第一个字开始连续输出三个字结果:abd