ホームページ > 運用・保守 > Linuxの運用と保守 > 「上級 Bash スクリプト ガイド」学習 (17): さらに使用して gzip ファイルを表示する

「上級 Bash スクリプト ガイド」学習 (17): さらに使用して gzip ファイルを表示する

PHP中文网
リリース: 2017-07-11 18:16:38
オリジナル
1745 人が閲覧しました

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

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

脚本运行结果

 

以上が「上級 Bash スクリプト ガイド」学習 (17): さらに使用して gzip ファイルを表示するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート