天天看點

shell腳本(二)

1.Until循環語句

<code>#!/bin/bash</code>

<code>a=10;</code>

<code>until</code> <code>[[ $a -lt 0 ]];</code>

<code>do</code>

<code>echo</code> <code>$a ;</code>

<code>((a--));</code>

<code>done</code><code>;</code>

2.case 選擇語句

<code>#auto install LAMP</code>

<code>#by 2015-6-30</code>

<code>case</code> <code>$1 </code><code>in</code>

<code>         </code><code>apache )</code>

<code>echo</code> <code>"wait for install httpd server..."</code>

<code>yum </code><code>install</code> <code>http* -y</code>

<code>;;</code>

<code>        </code><code>mysql )</code>

<code>echo</code> <code>-e </code><code>"wait fo install mysql server..."</code>

<code>        </code><code>yum </code><code>install</code> <code>mysql mysql-devel mysql-server -y</code>

<code>        </code><code>;;</code>

<code>        </code><code>php )</code>

<code>        </code><code>echo</code> <code>"wait fo install php...."</code>

<code>        </code><code>yum </code><code>install</code> <code>php php-server php-mysql -y</code>

<code>        </code><code>* )</code>

<code>echo</code> <code>-e </code><code>"\033[32mUsage:{$0 apache|mysql|php|help}\033[0m"</code>      

<code>esac</code>

3.制作選擇菜單

<code>PS3=</code><code>"select your will exec menu:"</code>

<code>select</code> <code>i </code><code>in</code> <code>"apache"</code> <code>"mysql"</code> <code>"php"</code>

<code>case</code> <code>$i </code><code>in</code>

<code>echo</code> <code>-e </code><code>"\033[32mUsage:{$0 apache|mysql|php|help}\033[0m"</code>

<code>done</code>

~ 4.選擇菜單退出shell

<code>PS3=</code><code>"select a meau:"</code>

<code>echo</code> <code>-e </code><code>"\033[32mPlease chose a commend to run\033[22m"</code>

<code>select</code> <code>i  </code><code>in</code>  <code>"w"</code> <code>"top"</code> <code>"ifconfig"</code> <code>"free"</code> <code>"quit"</code>

<code>        </code><code>do</code>

<code>        </code><code>case</code>    <code>$i </code><code>in</code>

<code>        </code><code>w)</code>

<code>        </code><code>w;</code><code>exit</code>

<code>        </code><code>top</code><code>)</code>

<code>        </code><code>top</code><code>;</code><code>exit</code>

<code>        </code><code>ifconfig</code><code>)</code>

<code>        </code><code>ifconfig</code><code>;</code><code>exit</code>

<code>        </code><code>free</code><code>)</code>

<code>        </code><code>free</code> <code>-m;</code><code>exit</code>

<code>        </code><code>quit )</code>

<code>        </code><code>exit</code>

<code>        </code><code>*)</code>

<code>echo</code> <code>-e</code><code>"\033[32mPlease input a number:\033[0m"</code>  

5.列印乘法口訣shell

<code>#! /bin/bash</code>

<code>for</code> <code>i </code><code>in</code> <code>`</code><code>seq</code> <code>1 9`; </code><code>do</code>

<code>        </code><code>for</code> <code>j </code><code>in</code> <code>`</code><code>seq</code> <code>1 $i`; </code><code>do</code>

<code>                </code><code>echo</code> <code>-</code><code>ne</code>  <code>"${j}x${i}=$(($i*$j))\t"</code>

<code>        </code><code>done</code>

<code>        </code><code>echo</code>

<code>    </code><code>6.shell中</code><code>cut</code><code>截取指令</code>

<code>-c list 指定剪切字元數。</code>

<code>-f field 指定剪切域數。</code>

<code>-d 指定與空格和t a b鍵不同的域分隔符。</code>

<code>- c用來指定剪切範圍,如下所示:</code>

<code>- c 1,5-7 剪切第1個字元,然後是第5到第7個字元。</code>

<code>-c1-50 剪切前5 0個字元。</code>

<code>-f 格式與- c相同。</code>

<code>-f 1,5 剪切第1域,第5域。</code>

<code>- f 1,10-12 剪切第1域,第1 0域到第1 2域。</code>

<code>例子:</code>

<code>cut</code> <code>-d: -f1  </code><code>/etc/passwd</code>  <code>//</code><code>以“:”為分隔符,截取</code><code>passwd</code><code>中第一列</code>

<code>cut</code> <code>-d: -f1,5   </code><code>/etc/passwd</code>  <code>//</code><code>截取第一列和第五列</code>

~                                                                                                                                   

~                         

本文轉自 Anonymous123 51CTO部落格,原文連結:http://blog.51cto.com/woshitieren/1669760