Linux环境编程姜林美,Linux环境编程习题_编程题_答案.pdf

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

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

echo -n " "

done

for (( j=0; j

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值