2014马哥Linux0218-4前半部文件测试的题目

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2014马哥Linux0218-4前半部文件测试的题目相关的知识,希望对你有一定的参考价值。

写一个下载程序:

1、首先判断wget是否存在,不存在就退出;有就执行下一步。

2、然后判断用户是否有wget的执行权限,如没有则退出,如有就执行下载。

#!/bin/bash

#

url="http://172.16.0.1/centos6.5.repo"

which wget &> /dev/null || exit 5

downloader=`which wget`

[ -x $downloader ] || exit 6

$downloader $url


这里有一个疑问,为何变量downloader中,明明是命令which wget,但一路真逻辑走下来到最后的一句,竟然可以当成wget的命令来用,当中就隔着一句文件测试语句,怎么这个which就不见了呢?我真的是想不通啊!


写一个脚本,完成如下任务:

1、分别复制/var/log下的文件至/tmp/logs/目录中

2、复制目录时,才使用cp -r

3、复制文件时,使用cp

4、复制链接文件,使用cp -d

5、余下的类型,用


#!bin/bash

#

targetDir="/tmp/logs"

[ -e $targetDir ] || mkdir $targetDir

for fileName in /var/log/*; do

if [ -f $fileName ];then

copyCommand="cp"

elif [ -d $fileName ];then

copycommand="cp -r"

elif [ -h $fileName ];then

copyCommand="cp -d"

else 

copycommand="cp -a"

fi

$copyCommand $fileName $targetDir

done

本题已应马哥所说,将普通文件测试放于逻辑判断语句的第一句,提高运行效率。

以上题目摘自2014马哥Linux0218-4课中。

以上是关于2014马哥Linux0218-4前半部文件测试的题目的主要内容,如果未能解决你的问题,请参考以下文章

2014马哥Linux0218-4中shift轮替和最后一道大题

2014马哥Linux0218-1字符测试与生成交互式选项表的脚本代码

2014马哥Linux0217-4中LineCount的小程序补完版

2014马哥Linux0214中关于系统启动加载环境变量的顺序问题

文件系统常用命令:echo命令

文件系统常用命令:pwd命令