码迷,mamicode.com
首页 > 其他好文 > 详细

《Advanced Bash-scripting Guide》学习(十七):用more来查看gzip文件

时间:2017-07-11 00:58:43      阅读:101      评论:0      收藏:0      [点我收藏+]

标签:匹配   cat   std   $#   文件描述符   变量   定向   替换   mil   

本文所选的例子来自于《Advanced Bash-scripting Gudie》一书,译者 杨春敏 黄毅

 1 #!/bin/bash
 2 #使用more查看gzip文件
 3 
 4 NOARGS=65
 5 NOTFOUND=66
 6 NOTGZIP=67
 7 
 8 if [ $# -eq 0 ]                                    #[ $# -eq 0 ]与[ -z "$1" ]有同样的效果
 9 then
10         echo "Usage: `basename $0` filename" >&2   #将错误输出到屏幕,&[n]表示已存在的文件描述符,&2表示标准错误输出,如换成&>2,屏幕不显示错误输出,why?
11         exit $NOARGS
12 fi
13 
14 filename=$1
15 
16 if [ ! -f "$filename" ]
17 then
18         echo "File $filename not found!" >&2       #和上面一样,只是感觉没必要再stderr重定向到标准屏幕,因为默认就是标准错误输出到屏幕的,所以可以去掉
19         exit $NOTFOUND
20 fi
21 
22 if [ ${filename##*.} != "gz" ]                     #变量替换,拿走.之前的所有的字符串,参照《ABS》中文版第23页echo ${PATH#*:}拿掉第一个:左边所有字串
23 then                                               ###是判断最后面的. #只是判断第一个 ##最远匹配 #最近匹配
24         echo "File $1 is not a gzipped file!"
25         exit $NOTGZIP
26 fi
27 
28 zcat $1 | more                                     #zcat命令用于不真正解压缩文件,就能显示压缩包中文件的内容的场合
29 
30 exit $?

脚本运行结果

技术分享

 

《Advanced Bash-scripting Guide》学习(十七):用more来查看gzip文件

标签:匹配   cat   std   $#   文件描述符   变量   定向   替换   mil   

原文地址:http://www.cnblogs.com/cnhkzyy/p/7148197.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!