文档详情

Linux环境编程习题_编程题_答案.pdf

发布:2017-09-22约4.34万字共41页下载文档
文本预览下载声明
Linux 境编程-人民邮电出版社-姜林美 课后习题(编程题)答案 第三章 1 第五章 4 第六章 9 第七章 19 第八章 22 第九章 35 第十章 38 三章 15. 请编程实现:判断任一参数给出的是不是字符设备文件,如果是则将其拷贝到 /dev 目录下。(注:本 题不妥,为方便测试可将 “字符设备文件”改为“符号连接文件”,“/dev ”改为 “家”。相应地以下答案 中的“-c ”,改为“-h ”, “/dev ”改为“~/ ”) #!/bin/bash while [ $1 ]; do if [ -c $1 ]; then mv $1 /dev fi shift done 更改后答案 #!/bin/bash while [ $1 ]; do if [ -h $1 ]; then mv $1 ~/ fi shift done 16. 请编写程序,分别用while、until 和for 循环计算从1 到“位置参数$1 所给出的数”之间的所有能被3 整除的数之和。 #!/bin/bash sum=0 for((i=1; i=$1; i++)); do if ((i%3==0)); then ((sum+=i)) fi done echo $sum 17. 请编程实现:打印边长为n 的由“*”号组成的等边三角 , 如: * * * * * * * * * * * * * * * 其中变量n 的值通过命令行参数传入。 #!/bin/bash if [ -z $1 ]; then echo Please provided a number exit fi for (( i=1; i=$1; i++ )); do for (( j=0; j$1-i; j++ )); do echo -n done for (( j=0; ji; j++ )); do echo -n * done echo ; done 18. 设/tmp 路径下有 1000 个文件,文件名的格式为:filename_YYYYMMDD_xxx.dat (其中YYYYMMDD 为8 位数字表示的日期,xxx 为三位数字表示的序列号,例如:backup089.dat )。请编程实现: 将 这些 文件 名 依次 改 名 为 YYYYMMDD_filename_yyy.dat ,其中 yyy=1000-xxx 。例 如,将 backup089.dat 改名backup_911.dat 。 #!/bin/bash # backup089.dat = backup_911.dat for file in /tmp/ *.dat; do f=${file#/ */} # filename b=${f%%_*
显示全部
相似文档